设置一个标签栏项目的动作 - iphone
问题描述:
我不这样做,如果这是可能的,但是这有一种方法来处理标签栏项目点击像一个普通的按钮单击(动作)?原因如下:我的应用程序中有一个标签栏,对于大多数标签栏项目,我不会在触摸时更改屏幕,但我确实会更改视图中显示的数据。看起来这会有点过分,为此使用TabBarAppDelegate ...有没有更好的方法?设置一个标签栏项目的动作 - iphone
感谢
答
最直接的方法就是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:
可以在任何地方包括你的视图控制器,并且你会得到按钮被点击的事件。更多的信息在这里:
答
就个人而言,我会用UISegmentedControl
并将其放置在一个UIToolbar
或UINavigationBar
。这样你就可以获得相同的触摸到数据变化效果,但不必交换视图控制器(或尝试绕过切换选项卡)
答
我建议使用UIToolbar。或者制作你自己定制的UIView并根据你的喜好进行设计
明白了。谢谢!这也是我发现的一个很好的参考:https://discussions.apple.com/thread/2099944?start=0&tstart=0 – coder