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

Я хочу отключить действие по умолчанию, когда пользователь касается элемента панели вкладок.

Например, У меня есть панель вкладок с вкладками 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;
}
18
задан Mustafa 16 November 2010 в 09:55
поделиться