Monday, 8 February 2016

Force a current selected tab to remain selected in UITabBarController in IOS SDK




Recently, I came across a situation where I have to  force a current selected tab to remain selected in UITabBarController, when user select or tap a different tab. So i though worthy of sharing the code with all the community. To make this happen, one can use UITabBarController delegate


- (BOOL)tabBarController:(UITabBarController *)tabBarController shouldSelectViewController:(UIViewController *)viewController

According to APPLE documentation it states:

Asks the delegate whether the specified view controller should be made active.

The tab bar controller calls this method in response to the user tapping a tab bar item. You can use this method to dynamically decide whether a given tab should be made the active tab.

- (BOOL)tabBarController:(UITabBarController *)tabBarController shouldSelectViewController:(UIViewController *)viewController
{
    if (remainActive )
    {
        return NO;
    }
    
    return YES;
}

In above delegate method, we return false if we want our current selected tab to remain active irrespective of user tab selection and no if otherwise. 

No comments:
Write comments