Не выберите вкладки в UITabBar

Я пытаюсь не выбрать вкладки вообще в моем приложении. Сначала первая вкладка выбрана, но я хотел бы отменить выбор ее так, никакие вкладки вообще не будут выбраны.

Не спрашивайте меня, почему, это - просто тот способ, которым клиент хочет это! hehe

Спасибо за помощь!

PS: Я уже попробовал:

// rootController = UITabBarController    
rootController.tabBar.selectedItem = 0;
rootController.tabBar.selectedItem = nil;
[rootController setSelectedIndex:[rootController.items objectAtIndex:0]];
[rootController setSelectedIndex:nil];
[rootController setSelectedIndex:0];
// That one works : (but I can't select 0 or -1 for instance)
[rootController setSelectedIndex:2];

Какие-либо идеи? Еще раз спасибо!

6
задан Peter Hosey 27 May 2010 в 05:24
поделиться

2 ответа

Из документации:

Этот контроллер представления является тем, чье пользовательское представление в настоящее время отображается интерфейсом панели вкладок. Указанный контроллер представления должен находиться в массиве viewControllers. Присвоение нового контроллера представления этому свойству изменяет текущее отображаемое представление, а также выбирает соответствующую вкладку на панели вкладок. Изменение контроллера представления также соответствующим образом обновляет свойство selectedIndex. По умолчанию это свойство имеет значение nil.

Итак, я предполагаю, что вам нужно [rootController setSelectedViewController: nil];.

Обновление:

Чтобы немного прояснить ситуацию,

[self.tabBarController setSelectedViewController:nil];

Существует также документация по предотвращению выбора вкладок, которая может оказаться полезной.

0
ответ дан 9 December 2019 в 22:30
поделиться

Вы можете отменить выбор всех элементов панели вкладок, если вы используете экземпляр UITabBar без UITabBarController.

В этом случае приведенный ниже код работает хорошо.

[tabBar setSelectedItem:nil];

Если UITabBar является частью UITabBarController, то приложение завершится с исключением:

'Directly modifying a tab bar managed контроллером панели вкладок, не allowed."

Другими словами, если вы хотите, чтобы это работало, вам нужно управлять процедурами таб-бара вручную без контроллера.

7
ответ дан 9 December 2019 в 22:30
поделиться
Другие вопросы по тегам:

Похожие вопросы: