Xcode 8 Storyboard 帧大小问题
Posted
技术标签:
【中文标题】Xcode 8 Storyboard 帧大小问题【英文标题】:Xcode 8 Storyboard frame sizes issue 【发布时间】:2016-11-08 07:34:07 【问题描述】:我使用 NavigationController 将 UIView 放到 ViewController 的视图中。
并将新 UIView 的约束设置为 Top Space to TopLayoutGuide:0,Leading space to superview:0 Trailing space to superview:0 and Bottom Space to Bottom LayoutGuide:0。
因此,在 IB 中,新的 UIView 看起来不错,我的意思是它的顶部就在导航栏下方并填充了其余部分。
但是,在 Objective-C 中,我为 self.view.frame.size 和新 UIView 的 frame.size 输出 NSLog。我预计新 UIView 的高度小于 self.view 的高度,因为新 UIView 的顶部位于导航栏下方,而 self.view 覆盖了所有区域。
但结果是他们两个的高度相同。这使得new UIView上的内容错位了。
你有什么好的解决办法吗?
谢谢。
【问题讨论】:
你在哪里打印它们? 在调用viewDidLayoutSubviews
之前,帧的大小不会正确,此时您的所有约束都已解决。
感谢您的好建议。我会尝试重写代码。
@norders 非常感谢。它工作得很好。非常感谢您的帮助。
@Tj3n 我在 webView 委托 didLoad 上打印它。
【参考方案1】:
在 viewDidLauoutSubviews 上写代码解决了这个问题。
【讨论】:
以上是关于Xcode 8 Storyboard 帧大小问题的主要内容,如果未能解决你的问题,请参考以下文章
使用 Xcode 8 的 Interface Builder 中的 Auto Layout 和 Trait Variations 正确设计的 Storyboard 视图在 Simulator 和 De