[ios]UITabBarController 的UITabBarControllerDelegate 与UITabBarDelegate冲突

当自己写UITabBarController 时候 如果 同时实现了UITabBarDelegate 与UITabBarControllerDelegate

willxxxx didxxxx时

UITabBarDelegate会被调用UITabBarControllerDelegate不会被调用

 

故覆写的时候不要同时实现同一个命名的方法。

ex:

Java代码  收藏代码
  1. //UITabBarDelegate   
  2. -(void)tabBar:(UITabBar *)tabBar didEndCustomizingItems:(NSArray *)items changed:(BOOL)changed{  
  3. ……  
  4. }  
  5.   
  6. //UITabBarControllerDelegate  
  7. -(void)tabBarController:(UITabBarController *)tabBarController didEndCustomizingViewControllers:(NSArray *)viewControllers changed:(BOOL)changed{  
  8. ……  
  9. }  
  10.   
  11. 上面2个方法就不能同时复写 否则后者无法被执行  

 

 

根据看.h文件  是因为UITabBarController 继承自UIViewController <UITabBarDelegateNSCoding>

然后消息分发的时候UITabBarDelegate 会被优先执行。且 后者不被执行


 转自

http://poolo.iteye.com/blog/1833828

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章