繁体   English   中英

使用UITabbar的UISplitView

[英]UISplitView with UITabbar

我有一个奇怪的,我似乎无法解决。 我目前正在努力将我的应用更新到iOS7。 这一切都在iOS6中有效。 它是一个通用应用程序,因此使用相同的xib文件。 然而,iPad在某些上使用了UISplitViews。 就像我说的,这一切都适用于iOS6哦,这一切都适用于iPhone。

问题是底部是灰色条。 我将标签栏更改为不透明以正确移动视图,因为我将一些UI剪切到视图底部并且位于标签栏下方,在那里进行了侧移。 但是,如果我将它设置回半透明条,它会在下方但正确拉伸。 如果我不这样做,它会添加一个条形码。 其他选项卡在不使用splitview时工作正常。

UISplitviewController以编程方式添加。

有关更好的说明,请参见附图。

灰色条位于我的splitview和tabbar之间

我试过这个:

  • 在splitview上添加了自动调整大小
  • 已检查xib以查看拆分视图中的子视图以自动调整大小
  • 试图强制splitview成为屏幕边界
  • 删除了所有视图上绑定的剪辑
  • 删除了自动调整大小的子视图

任何想法都会受到欢迎。

谢谢你们。

更新:

设置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.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM