Я хочу, чтобы пользователи не могли перейти к определенным контроллерам представлений, доступным через кнопки панели вкладок, и попросить их войти в систему с предупреждением. Однако я могу отключить кнопки, единственный способ обнаружить нажатие кнопки на заблокированной кнопке панели вкладок (для запуска предупреждения), похоже, заключается в том, чтобы вставить кнопку в другое представление с помощью распознавателя жестов, который кажется сложным.ios/object-c: Обнаружить нажатие кнопки tabbarbutton
В качестве альтернативы, если я оставлю кнопки включенными, после нажатия они запускают контроллер вида, которому они назначены, и не могут запустить оповещение.
Есть ли способ обнаружить прессу и предварительно убрать segue на контроллер вида, чтобы я мог запустить предупреждение?
Я попытался использовать следующий метод в своем делете приложения и в viewdidload отдельных контроллеров представления (которые подписываются на протокол делегирования uitabbarcontroller), но он не запускается.
- (void)tabBarController:(UITabBarController *)theTabBarController didSelectViewController:(UIViewController *)viewController
{
NSUInteger indexOfTab = [theTabBarController.viewControllers indexOfObject:viewController];
NSLog(@"Tab index pressed = %lu", (unsigned long)indexOfTab);
//launch alert
//prevent segue to view controller
}