[英]UISplitView with UITabbar
我有一个奇怪的,我似乎无法解决。 我目前正在努力将我的应用更新到iOS7。 这一切都在iOS6中有效。 它是一个通用应用程序,因此使用相同的xib文件。 然而,iPad在某些上使用了UISplitViews。 就像我说的,这一切都适用于iOS6哦,这一切都适用于iPhone。
问题是底部是灰色条。 我将标签栏更改为不透明以正确移动视图,因为我将一些UI剪切到视图底部并且位于标签栏下方,在那里进行了侧移。 但是,如果我将它设置回半透明条,它会在下方但正确拉伸。 如果我不这样做,它会添加一个条形码。 其他选项卡在不使用splitview时工作正常。
UISplitviewController以编程方式添加。
有关更好的说明,请参见附图。
我试过这个:
任何想法都会受到欢迎。
谢谢你们。
更新:
设置uisplitview的背景颜色,它会使条纹黑色。 所以uisplitview肯定会延伸到它。
我将UISplitViewController子类化,并将下面的行添加到viewDidLoad并修复了灰线。
self.extendedLayoutIncludesOpaqueBars = YES;
我相信我已经找到了替代解决方案。 我遇到了完全相同的问题,主要是因为我们都在针对Apple的指南做了一些事情,它有一个嵌套在Tabbar控制器中的SplitViewController(SplitView应该是根视图)。 这在iOS 5/6中没问题,但现在在iOS 7中有太多的副作用来实现这一点。
当您将条形设置为半透明时,您看到视图完全拉伸的原因是因为绘制视图时不考虑条形。 当您将半透明设置为false时,会将其考虑在视图中,您将看到那里的灰色条,因为您的视图假装在屏幕底部有一个标签栏。
和往常一样,SplitViewcontroller的高度无法更改,因为它由可见窗口高度决定。
我尝试了你所做的一切,然后是一些。 真正的解决方案来自使用第三方拆分视图控制器。
我建议切换到https://github.com/mattgemmell/MGSplitViewController 。 这个拆分视图控制器实际上是一个大视图,其中包含容器视图。 因此,您可以避免将实际拆分视图控制器放在选项卡栏中的所有副作用。
如果这不会漂浮你的船,你可以创建自己的解决方案,遵循相同的想法,让一个UIViewController包含两个容器视图,虽然MGSplitViewController背后的人已经做得很好。
这是我能够解决这个问题的唯一方法,如果您找到替代方案,请告诉我。
我没有为UISplitViewController
创建子类, UISplitViewController
在我的master的viewDidLoad
上添加了这段代码:
self.splitViewController?.extendedLayoutIncludesOpaqueBars = true
对于作为UISplitViewController的详细视图的控制器,您只需执行以下操作:
-(UITabBarController*)tabBarController{
return nil;
}
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.