【问题标题】:Three20 TTLauncherView showing by default the first page of a menuThree20 TTLauncherView 默认显示菜单的第一页
【发布时间】:2012-02-24 10:56:26
【问题描述】:

当我向 TTLauncherView Three20 视图添加一些图标 (50) 时,TTLauncherView 始终位于图标页面的最后一页。如何将其更改为始终显示图标的第一页而不是最后一页? 谢谢。

更新

在 viewDidLoad 方法中,我称之为:

- (void)loadIcons
{
int first=0;
TTLauncherItem *firstIcon;
for (NSString *nombre in nombres) {
    TTLauncherItem *icono=[self generarIcono:nombre];
    [launcherView addItem:icono animated:YES];
    if(first==0)
        firstIcon=icono;
    first=1;
}

[self.view addSubview:launcherView];

if (firstIcon!=nil) {
    [launcherView scrollToItem:firstIcon animated:NO];
}
}

【问题讨论】:

    标签: iphone ipad three20 ttlauncherview


    【解决方案1】:

    添加图标后只需致电[launcherView scrollToItem:item1 animated:NO]

    【讨论】:

    • 它对你有用吗?我刚刚添加了该行,第一项添加了 item1。
    【解决方案2】:

    您正在添加所有动画项目。我认为这不是您在 viewDidLoad 期间想要的,另一方面,这是使您的代码无法按预期工作的原因。您正在添加动画项目,然后请求立即(非动画)移动到第一个项目。那是冲突的。最简单的做法是添加不带动画的项目[launcherView addItem:icono animated:NO];

    但这不是您通常向启动器添加大量项目的方式。它会产生很多开销。有一个pages 属性,更适合您的需求。查看 TTCalog 示例应用程序以获取代码。

    【讨论】:

    • 将每个项目的动画属性更改为 NO,仍然无法解决。当我逐个元素地添加或删除任何项目时,我以这种方式添加每个项目以重复使用它。不过,您的建议提供了更好的性能。现在,我试图找出为什么将动画设置为 NO 不起作用。
    • 我已将 scrollToItem 方法调用移至 viewDidAppear,并且滚动工作正常,尽管显示了滚动动作。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2019-05-30
    • 2017-09-29
    相关资源
    最近更新 更多