我有一个类tabBarController,每当其selectedIndex属性发生变化时,我想触发一个自定义方法。我该如何做到这一点?
这是如何在h的实例变量中声明tabBarController:
BaseViewController *tabBarController;
答案 0 :(得分:5)
使用UITabBar的-(void)tabBar:(UITabBar *)tabBar didSelectItem:(UITabBarItem * )item
方法确定选项卡的索引,从而确定要调用的方法。
答案 1 :(得分:3)
这是键值观察的完美候选者。基本上,当值发生更改时,会通过您定义的任何observers
触发通知,以便为任何更改观察该值。当你建立自己和一个观察者并实现observeValueForKeyPath:
方法时,你可以用你想要的方法开除它。
一开始有点令人生畏,但如果使用得当,基本上就是魔术。
编辑:没看到它很简单UITabBarController
。是的,只需使用委托方法。 KVO对此有点过分了。
答案 2 :(得分:0)
创建一个setter:
- (void)setSelectedIndex:(NSInteger*)integer
{
// Do stuff
selectedIndex=integer;
// Or: [super setSelectedIndex:integer];
}
答案 3 :(得分:0)
使用delegate
方法-(void)tabBar:(UITabBar *)tabBar didSelectItem:(UITabBarItem * )item