How do you connect a tab bar item to an action?

DeShawnT picture DeShawnT · Jul 31, 2011 · Viewed 14.1k times · Source

I have a UIView which has a UITabBar with 4 UITabBarItem components in it (all created from IB).

I want my IBAction function called when someone clicks on the items in the tab bar. But I am unable to connect the tabbaritem to my action via IB... I control drag from the "received actions" but it does not allow me to connect that to the tabbaritem.

Thanks Deshawn

Answer

jayvatar picture jayvatar · Apr 18, 2012

Control drag your tabbar to your "File's owner" in IB and set it as the delegate. Next drop this code in your viewcontroller.m file:

- (void)tabBar:(UITabBar *)tabBar didSelectItem:(UITabBarItem *)item
{
    if(item.tag == 0)
    {
        //party like its 1999 right here
    }
}

Go back to IB and set each tab bar item in your tab bar with a tag. You gotta test for each case in your didSelectItem, so if you got more than one set a different tag etc. Thats how I did it anyway.