自定義UITabbar

方法一:(Affairs HD) 

將window的rootViewController設置爲原始UITabbarController,然後將原始UITabbarController的UITabbar隱藏,在原始UITabbarController上addsubview一個自定義的繼承自view的UITabbar,將UITabbar裏面的按鈕事件委託到AppDelegate中來選擇頁面替換。最後剩下的就是處理UITabbar內的界面了,而本項目中所做的處理只是在按鈕事件中將選擇指示圖片移動一下位置。

方法二:(HeadLine)

將window的rootViewController設置爲自定義TabbarController。在自定義TabbarController上面直接覆蓋一個背景圖片,和一個選擇指示圖片。需要做的一個處理是將系統自帶的選擇指示的圖片移除。剩下的就是通過self.selectedIndex來控制自定義指示器的移動位置,這裏是通過監聽selectedViewController完成的。

方法三:(Wireless)

基本原理和HeadLine差不多。不過這裏背景圖片上面沒有帶任何圖標,所以這裏有一個overRide的setViewControllers方法,通過這個方法來手動設置每個按鈕圖標(設置按鈕圖標可以直接在tabBar上面addSubview,也可以依次設置tabBar的UITabBarItem。前者可以通過設置按鈕圖片的高亮和非高亮兩種狀態來區分是否選中,而後者可以自己設置非選中和選中兩套圖片)。

如果需要titles,可以通過setTabBarItemsTitles設置titles。

總結:

其實本來是建議能用原始的儘量用原始的,但是發現原始的會在ios7以上和以下兩個系統中產生不同的效果,所以還是用自定義的比較好。

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