Я хочу отключить действие по умолчанию, когда пользователь касается элемента панели вкладок.
Например, У меня есть панель вкладок с вкладками Tab1, Tab2 и Tab3. В Tab1 пользователь может переходить от View1 к View3 (View1> View2> View3). Если пользователь находится в View3 и нажимает Tab1, приложение переводит пользователя в View1 (корневой контроллер представления). Я хочу отключить эту функцию. Я не хочу, чтобы нажатие на Tab1 открывало все контроллеры представления. Как я могу это сделать?
Изменить:
Это поведение немного странное, но удобное сокращение в случае глубокой иерархии!
Вы можете реализовать следующие методы UITabBarControllerDelegate, чтобы отключить этот общесистемный ярлык:
#pragma mark -
#pragma mark UITabBarControllerDelegate
- (BOOL)tabBarController:(UITabBarController *)tbc shouldSelectViewController:(UIViewController *)vc {
UIViewController *tbSelectedController = tbc.selectedViewController;
if ([tbSelectedController isEqual:vc]) {
return NO;
}
return YES;
}