我不是没有,如果有可能,但是这有一种方法可以像对待常规按钮click(action)一样对待选项卡栏项目单击?原因是:我的应用程序中有一个标签栏,对于大多数标签栏项目,触摸时都不会更改屏幕,但确实会更改 View 中显示的数据。似乎为此使用TabBarAppDelegate会有点麻烦...是否有更好的方法?

谢谢

最佳答案

最直接的方法是UITabBarDelegate。对不起。通过在类定义之后添加<UITabBarDelegate>来实现您的类并继承协议(protocol),例如:

@interface MyViewController : UIViewController<UITabBarDelegate>

然后在该类中定义tabBar:didSelectItem:方法,例如
- (void)tabBar:(UITabBar *)tabBar didSelectItem:(UITabBarItem *)item {
    // Do Stuff!
    // if(item.title == @"First") {...}
}

然后像下面这样在您的选项卡上设置委托(delegate):myTabBar.delegate = myClassInstancetabBar:didSelectItem:方法可以在任何位置(包括您的 View Controller ),在该位置您将获得单击按钮的事件。更多信息在这里:

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

关于iphone - 使用标签栏项设置 Action -iPhone,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/7575430/

10-13 05:32