ios - UIViews 在标签栏下方结束

标签 ios xcode ios7 autolayout

在我的应用程序中,我使用自动布局将标签与 bottomLayoutGuide 的标准量对齐。当应用程序首次启动时,一切都按照我的意愿进行布局,但是当我切换标签并返回时,标签在标签栏 Controller 下消失了。

如果我旋转设备,横向 View 会正确显示,当我将它旋转回纵向时, View 会恢复正常。我似乎无法弄清楚是什么导致了这种行为。感谢您的帮助!

最佳答案

发生这种情况是由于 iOS7 中的错误,底部布局指南错误地设置为高度 0 而不是标签栏的高度。旋转设备时,底部布局指南已正确设置。

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

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

对从选项卡栏 Controller 显示的每个 View Controller 执行此操作。请记住将选项卡栏 View Controller 的背景颜色设置为适合您的应用程序的颜色。

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

更详细一点,似乎 viewDidLayoutSubviews 在切换 View Controller 时被调用了两次。第一次,一切都设置正确,但第二次 bottom layout guide height 为 0。从堆栈跟踪可以看出,第一次来自标签栏布局,而第二次调用来自计划的 CALayer 布局,这是不正确的.

关于ios - UIViews 在标签栏下方结束,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19440197/

相关文章:

iOS 复制和粘贴

ios - 使用 Firebase 和 Swift 保存多个表部分的数据

iphone - 使用 NSUserDefaults xcode iphone 的问题

iphone - 框架代码将消息发送到已释放的 UITableViewController 对象的错误

iOS 7 : Strange AVAssetExportSession bug

crash - iOS7-UITabBarController seletedIndex崩溃

ios - CATiledLayer,iOS7 磁贴不更新

ios - 与 HealthKit 相关的 info.plist key 令人困惑的问题 - Apple

ios - project.pbxproj 始终在 git 中标记为已修改

ios - 有没有办法查看文本字段的值是否等于 Swift 中字典中的值?