2014-02-12 47 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

相关问题