Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

Prevent automatic popToRootViewController on double-tap of UITabBarController

The default behavior of a UITabBarController is to pop the contained UINavigationController to the root view controller when a particular tab is tapped a second time. I have a particular use case where I'm wanting this to not work automatically, and I'm having a hard time figuring out how to prevent this.

Has anyone run into this, and if so, what did you do? Do I need to subclass UINavigationController and override popToRootViewController or is there a simpler way?

like image 550
Ecton Avatar asked Dec 04 '09 22:12

Ecton


1 Answers

Use the tabBarController:shouldSelectViewController: method of the UITabBarControllerDelegate protocol.

- (BOOL)tabBarController:(UITabBarController *)tabBarController shouldSelectViewController:(UIViewController *)viewController {     return viewController != tabBarController.selectedViewController; } 

Don't forget to set the delegate of the tab bar controller to the object that actually implements this delegate method.

like image 150
Sean Patrick Murphy Avatar answered Sep 20 '22 04:09

Sean Patrick Murphy