Three20 TTLauncherView по умолчанию показывает первую страницу меню.
-
12-11-2019 - |
Вопрос
Когда я добавляю несколько значков (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];
}
}
Решение
Вы добавляете все анимированные элементы.Я не думаю, что это то, что вам нужно во время viewDidLoad, и, с другой стороны, именно это мешает вашему коду работать так, как вы ожидали.Вы добавляете анимированные элементы, а затем запрашиваете немедленный (не анимированный) переход к первым элементам.Это противоречит.Самое простое — добавлять элементы без анимации. [launcherView addItem:icono animated:NO];
Но это не тот способ, которым вы обычно добавляете много элементов в программу запуска.Это создает много накладных расходов.Есть pages
недвижимость, которая лучше подходит для ваших нужд.Код см. в примере приложения TTCatalog.
Другие советы
После добавления значков просто позвоните [launcherView scrollToItem:item1 animated:NO]