文档说明在重新点击所选项目时会调用UITabBarControllerDelegate的didSelectViewController方法。
在iOS v3.0及更高版本中,无论选定的视图控制器是否更改,选项卡栏控制器都会调用此方法。此外,仅在响应标签栏中的用户点击时调用它,并且当您的代码以编程方式更改标签栏内容时不会调用它。
但是根据我的测试,它不是(在iOS9上测试),只在活动视图控制器发生变化时调用该方法。我做错了什么?有没有办法检测活动标签栏项目上的点击?
答案 0 :(得分:0)
好吧,方法didSelectViewController
在与所选视图控制器相同时未被调用的原因是我实现了这样的其他委托方法:
- (BOOL)tabBarController:(UITabBarController *)tabBarController shouldSelectViewController:(UIViewController *)viewController {
return (viewController != tabBarController.selectedViewController);
}