如果这是可能的话,我不会这样做,但是有一种方法可以将标签栏项目点击为常规按钮点击(动作)吗?原因如下:我的应用程序中有一个标签栏,对于大多数标签栏项目,我不会在触摸时更改屏幕,但我会更改视图中显示的数据。看来,使用TabBarAppDelegate会有点过分......有更好的方法吗?
由于
答案 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 = myClassInstance
。 tabBar:didSelectItem:
方法可以是任何位置,包括您的视图控制器,您可以在此处获得单击按钮的事件。更多信息:
答案 1 :(得分:3)
就个人而言,我会使用UISegmentedControl
并将其放在UIToolbar
或UINavigationBar
中。这样您就可以获得相同的触摸 - 更改数据效果,但不必交换视图控制器(或尝试绕过切换选项卡)
答案 2 :(得分:1)
我建议使用UIToolbar。或者制作自己的自定义UIView并根据自己的喜好进行设计