2012年2月3日 星期五

iOS學習_解決TabBar於iPad上顯示不完全的問題

上一篇我們可以利用程式碼,以設定UITabBarController的viewControllers方式,將我們希望的View以Tab的方式加到畫面上,但是在iPad上的結果並不盡如人意,因為有一半的TabBarItem被遮住了。


根本原因我並不是非常清楚,但是如果觀察UITabBarController的高度(view.frame.size.height)會發現,該高度在iPad上面始終少了20,所以推斷在某種UI配置的情況下,會讓iOS SDK在自動計算UITabBarController應有的高度時,產生20的偏移。

解決方式:所以我們要做的就是把那個20還給他。

tabBarController.view.frame = CGRectMake(0, 0,應有的寬, 應有的高);

*如果你的界面比較單純,那摸可以直接指定定值給他。
*但是如果放UITabBarController的View是一個隨螢幕方向或是任何條件會改變高度的框架,那麼你必須將該程式碼寫在一個可以動態抓到目前框架高度的位置,比如說我放的View是一個UIPopoverController,TabBar的高度就會因為螢幕旋轉而不同,或是因為鍵盤推上時而改變。

效果:


沒有留言:

張貼留言