2011-09-27 73 views
4

我不这样做,如果这是可能的,但是这有一种方法来处理标签栏项目点击像一个普通的按钮单击(动作)?原因如下:我的应用程序中有一个标签栏,对于大多数标签栏项目,我不会在触摸时更改屏幕,但我确实会更改视图中显示的数据。看起来这会有点过分,为此使用TabBarAppDelegate ...有没有更好的方法?设置一个标签栏项目的动作 - iphone

感谢

回答

13

最直接的方法就是UITabBarDelegate。抱歉。实施你的类和由类定义例如为:

@interface MyViewController : UIViewController<UITabBarDelegate> 

之后加入<UITabBarDelegate>继承协议,然后在该类例如定义该方法tabBar:didSelectItem:

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

然后设置委托您的TabBar像这样:myTabBar.delegate = myClassInstance。方法tabBar:didSelectItem:可以在任何地方包括你的视图控制器,并且你会得到按钮被点击的事件。更多的信息在这里:

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

+1

明白了。谢谢!这也是我发现的一个很好的参考:https://discussions.apple.com/thread/2099944?start=0&tstart=0 – coder

1

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