2014-02-12 95 views
1

我的問題是,我無法擺脫UITabBarController底部的橙色背景,有沒有人有任何想法如何可以擺脫?UITabBarController不顯示其內容的全部大小(UIViewController)

詳細信息: 我有這個UITabBarController當我添加UIViewController到它的UIViewController適合於UITabBarController內規模僅在視網膜4英寸屏幕iOS的7。但是,當我在Retina 4的iOS 6中嘗試此操作時,窗口底部將以橙色顯示UITabBarController的背景。

Image

我曾嘗試來解決這個問題:

1)重新創建UITabBarController和手動設置contentsizeForViewInPopOver

2)的NSLog的UIViewController框架,以確保它們是320x568,960 and 1134但他們都顯示相同的橙色(我設置UITabBarController的背景爲橙色來驗證)

3)放大mapview和父視圖的mapview,但沒有結果。

注意:圖像底部的灰色部分是所有的tabbaritems,但它們並未出於此目的顯示。

我看不出有什麼變化,也無法弄清楚。有人能幫幫我嗎?

在此先感謝!

回答

0

經過數小時的研究,我發現原因是什麼。

我有一個名爲的方法 - (void)showTabBar在我的viewcontroller顯示,並設置框架/界限爲特定的框架,特定於iOS 7在視網膜4顯示!

現在一切都很好,但由於@MrTJ對 viewDidLayoutSubviews

1

將地圖視圖的4個自動佈局約束設置爲視圖控制器的主視圖,每個邊(頂部,右側,底部,左側)各有一個,其值均爲零。 Screenshot of Interface Builder

+0

感謝您的回答,但我沒有在故事板開發,因爲它很複雜的程序變得更大的暗示。有沒有一種解決方案等同於編程?謝謝! – tsuz

+1

您也可以通過'constraintsWithVisualFormat:options:metrics:views:''NSLayoutConstraint'方法以編程方式創建佈局約束。然而,在你的情況下,例如從你的控制器的'viewDidLayoutSubviews'方法手動改變地圖視圖的框架可能會更簡單,添加這一行:'self.myMapView.frame = self.view.bounds;' – MrTJ

相關問題