ios – UIViews结束在标签栏下面

前端之家收集整理的这篇文章主要介绍了ios – UIViews结束在标签栏下面前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
在我的应用程序中,我使用autolayout从bottomLayoutGuide对齐标签的标准数量.当应用程序首次启动时,所有内容都按照我想要的方式进行布局,但是当我切换选项卡并返回标签时,标签栏控制器已经消失.

如果我旋转设备,景观视图正确显示,当我旋转到纵向时,视图恢复正常.我似乎无法弄明白导致这种行为的原因.谢谢你的帮助!

解决方法

这是由于iOS7中的一个错误,底部布局指南错误地设置为高度0而不是标签栏的高度.旋转设备时,底部布局指南设置正确.

目前,您最好的选择是禁用底部扩展布局:

- (UIRectEdge)edgesForExtendedLayout
{
    return [super edgesForExtendedLayout] ^ UIRectEdgeBottom;
}

对于从标签栏控制器显示的每个视图控制器执行此操作.请记住将标签栏视图控制器的背景颜色设置为适合您的应用程序.

确保在https://bugreport.apple.com打开一个错误报告

要详细说明一下,在切换视图控制器时,看起来viewDidLayoutSubviews被称为两次.第一次,一切设置正确,但第二次底部布局指南高度为0.您可以从堆栈跟踪中看到第一个来自标签栏布局,而第二个调用来自预定的CALayer布局,这是不正确的.

猜你在找的iOS相关文章