微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

ios – UIViews结束在标签栏下面

在我的应用程序中,我使用autolayout从bottomLayoutGuide对齐标签的标准数量.当应用程序首次启动时,所有内容都按照我想要的方式进行布局,但是当我切换选项卡并返回标签时,标签栏控制器已经消失.

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

解决方法

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

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

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

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

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

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

原文地址:https://www.jb51.cc/iOS/336368.html

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。

相关推荐