我不确定是否可能,但有办法将选项卡条目点击处理为常规按钮点击(action)吗?原因是:在我的应用程序中有一个选项卡条,对于大多数选项卡条目,在触摸时我不会更改屏幕,但我会更改视图中显示的数据。似乎使用TabBarAppDelegate有点过头了...有更好的方法吗?
谢谢
谢谢
最直接的方法是使用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:
方法可以放在包括视图控制器在内的任何地方,并且是您获取按钮被单击事件的位置。更多信息请参见:http://developer.apple.com/library/ios/#DOCUMENTATION/UIKit/Reference/UITabBarDelegate_Protocol/Reference/Reference.html。UISegmentedControl
并将其放置在 UIToolbar
或 UINavigationBar
中。这样做可以获得相同的触摸切换数据效果,但不必交换视图控制器(或尝试绕过切换选项卡)。