如何将标签栏项目连接到动作?

DeS*_*wnT 6 cocoa-touch interface-builder uitabbaritem uitabbar ios4

我有一个UIView,它有一个UITabBar,里面有4个UITabBarItem组件(都是从IB创建的).

我希望当有人点击标签栏中的项目时调用我的IBAction函数.但我无法通过IB将tabbaritem连接到我的动作...我控制拖动"收到的动作",但它不允许我将它连接到tabbaritem.

谢谢Deshawn

jay*_*tar 14

控制将您的标签栏拖动到IB中的"文件所有者"并将其设置为委托.接下来将此代码放在viewcontroller.m文件中:

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

返回到IB并使用标记设置标签栏中的每个标签栏项目.你必须在你的didSelectItem中测试每个案例,所以如果你有多个不同的标签集等等,无论如何我都是这样做的.


ser*_*gio 6

从您的问题中不清楚您是否还定义了UITabBarController.

如果你没有(正如我所假设的那样,如果你在IB中正确定义了东西,那么点击一个标签栏项应该有效),可以选择将UITabBarDelegate分配给你的UITabBar并定义 tabBar:didSelectItem:

看看UITabBarDelegate参考资料