使用标签栏项目设置动作 - iphone

时间:2011-09-27 20:45:30

标签: iphone uitabbarcontroller action uitabbaritem

如果这是可能的话,我不会这样做,但是有一种方法可以将标签栏项目点击为常规按钮点击(动作)吗?原因如下:我的应用程序中有一个标签栏,对于大多数标签栏项目,我不会在触摸时更改屏幕,但我会更改视图中显示的数据。看来,使用TabBarAppDelegate会有点过分......有更好的方法吗?

由于

3 个答案:

答案 0 :(得分:14)

最简单的方法是UITabBarDelegate。抱歉。通过在类定义后添加<UITabBarDelegate>来实现您的类并继承协议,例如:

@interface MyViewController : UIViewController<UITabBarDelegate>

然后在该类中定义方法tabBar:didSelectItem:,例如

- (void)tabBar:(UITabBar *)tabBar didSelectItem:(UITabBarItem *)item {
    // Do Stuff!
    // if(item.title == @"First") {...}
}

然后在您的标签栏上设置代理,如下所示:myTabBar.delegate = myClassInstancetabBar:didSelectItem:方法可以是任何位置,包括您的视图控制器,您可以在此处获得单击按钮的事件。更多信息:

http://developer.apple.com/library/ios/#DOCUMENTATION/UIKit/Reference/UITabBarDelegate_Protocol/Reference/Reference.html

答案 1 :(得分:3)

就个人而言,我会使用UISegmentedControl并将其放在UIToolbarUINavigationBar中。这样您就可以获得相同的触摸 - 更改数据效果,但不必交换视图控制器(或尝试绕过切换选项卡)

答案 2 :(得分:1)

我建议使用UIToolbar。或者制作自己的自定义UIView并根据自己的喜好进行设计