[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

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