Three20 TTLauncherView показывает по умолчанию первую страницу меню - PullRequest
1 голос
/ 24 февраля 2012

Когда я добавляю некоторые значки (50) в представление TTLauncherView Three20, 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];
}
}

Ответы [ 2 ]

3 голосов
/ 24 февраля 2012

После добавления ваших значков просто позвоните [launcherView scrollToItem:item1 animated:NO]

0 голосов
/ 26 февраля 2012

Вы добавляете все анимированные предметы.Я не думаю, что это то, что вы хотите во время viewDidLoad и, с другой стороны, это то, что мешает вашему коду работать так, как вы ожидали.Вы добавляете анимированные элементы, а затем запрашиваете немедленное (не анимированное) перемещение к первым элементам.Это сталкивается.Самое простое, что можно сделать, это добавить элементы без анимации [launcherView addItem:icono animated:NO];

Но это не тот способ, которым вы обычно добавляете много элементов в панель запуска.Это создает много накладных расходов.Есть свойство pages, которое лучше подходит для ваших нужд.Посмотрите пример приложения TTCatalog для кода.

...