Обрабатывать нажатия на кнопку в заголовке контроллера панели вкладок - PullRequest
0 голосов
/ 19 января 2012

У меня есть контроллер панели вкладок с количеством вкладок / представлений. Я добавил элемент кнопки панели «Справка» в верхнюю панель навигации контроллера панели вкладок.

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

Я просто собираюсь вспомнить предупреждение, когда на него нажимают, т.е. Навигация не требуется.

Ответы [ 2 ]

0 голосов
/ 20 января 2012

Мне удалось заставить это работать.Я думаю, вы не поняли: у меня есть элемент управления панели вкладок, который работает нормально, нажимая представления на основе выбранной вкладки.Я просто хотел кнопку справки справа от панели навигации, которая открывала бы предупреждение с информацией о вкладке, на которой вы оказались в данный момент.Я сделал это так:

В viewDidAppear каждого представления, выдвигаемого контроллером панели вкладок:

UIBarBarButtonItem *helpButton = [[UIBarBarButtonItem alloc] initWithTitle:@"Help" style:UIBarButtonItemStylePlain target:self action:@selector(helpButtonPressed))];
self.tabBarController.navigationItem.rightBarButtonItem=helpButton;

Затем у меня есть функция helpButtonPressed для обработки нажатия кнопки,в моем случае - всплывающее окно с предупреждением и некоторой справочной информацией о вкладке.

0 голосов
/ 19 января 2012

В идеале, эта вкладка «помощь» не должна изменять свое поведение в зависимости от контекста, то есть, какая вкладка была выбрана ранее. Пользователь будет сбит с толку, потому что содержание не будет постоянным.

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

Если вы настаиваете на использовании этого дизайна - который, как я считаю, отклонит ваше приложение, - вы можете использовать UITabBarControllerDelegate для управления поведением UITabBarController.

Я рекомендую вместо этого изменить свой дизайн.

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