Как не позволить пользователю выбрать определенный TabBarItem - PullRequest
0 голосов
/ 04 мая 2009

Когда пользователь хочет выбрать определенный элемент UITabBar, я хочу сначала проверить, может ли он выбрать его. И если он не может, то показать предупреждение.

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

Каков наилучший способ достичь этого?

Спасибо.

Ответы [ 3 ]

1 голос
/ 12 июня 2009

Это не очень хорошая практика проектирования пользовательского интерфейса. Если кнопка отключена, она вообще не должна реагировать на взаимодействие с пользователем. Если он не отключен, он должен что-то сделать. Единственный случай, когда оправданно иметь не отключенную кнопку, которая отображает ошибку / предупреждение, а не выполняет желаемое действие, - это если можно определить только в последний момент, когда действие невозможно выполнить.

0 голосов
/ 15 июня 2009

Вам нужно будет использовать метод делегата из UITabBarControllerDelegate:

- (void)tabBarController:(UITabBarController *)tabBarController didSelectViewController:(UIViewController *)viewController

В этом методе проверьте, какой пользователь пытался выбрать, посмотрев на selectedIndex UITabBarController. Кроме того, вы можете получить ссылку на сам UITabBar и проверить его свойства:

UITabBar* tabBar = [tabBarController.view viewWithKindOfClass:[UITabBar class]];

Если вы не хотите, чтобы вкладка была доступной для выбора, запустите оповещение и назначьте целое число tabBarController.selectedIndex, чтобы изменить его на этой вкладке.

Предостережение: как видно из вышеприведенного плаката, эта практика разработки пользовательского интерфейса не соответствует другим приложениям для iPhone.

0 голосов
/ 05 мая 2009

Почему кнопка отключена? Не могли бы вы просто проверить, есть ли у них доступ к кнопке каждый раз и не отключить кнопку?

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...