在情节提要中更改“查看为:iPhone”时出现 UI 错误
Posted
技术标签:
【中文标题】在情节提要中更改“查看为:iPhone”时出现 UI 错误【英文标题】:UI bug when changing "View as: iPhone" in storyboard 【发布时间】:2017-11-23 08:35:28 【问题描述】:我有一个包含许多视图控制器的故事板。例如,如果我选择“查看为 iPhone SE”并构建到 iPhone SE,一切正常。但是,如果我保留“查看为 iPhone SE”并构建到 iPhone 6,则 UI 是错误的。这可以为每部 iPhone 重现。我正在使用自动布局和约束。
我尝试存档并上传到试飞,但遇到了同样的问题。
【问题讨论】:
您应该使用自动调整大小或约束来解决 ui 问题。 我正在使用约束 那么可能的原因一定是您没有正确应用约束。请您上传任何屏幕截图,以便问题更容易理解。 你找到解决这个问题的方法了吗?提前致谢。 @AnthoPak 是的,我刚刚写了我的答案。 【参考方案1】:就我而言,这是因为我在 viewDidLoad
而不是 viewDidLayoutSubviews
函数中进行了一些 UI 更改。
【讨论】:
谢谢。事实上,我在viewDidLoad
中添加了圆角。但是在viewDidLayoutSubviews
中进行更改并不是最好的选择,因为它会被多次调用,并且帧有时在第一次调用时是错误的(因为 Xcode 8...)。所以我的解决方案是在进行更改之前调用[self.view layoutIfNeeded]
(在viewDidLoad
中)。 +1 因为你带领我走上了正确的道路:)
是的,我同意这就是为什么我有一个布尔抽屉 = false,如果视图被绘制一次,则初始化为 true。就我而言,它完成了这项工作。【参考方案2】:
在 Storyboard 中,打开 Assistant Editor。
从“助理编辑器”菜单中,选择“预览”。
当前活动视图控制器将显示在助手编辑器中。
添加多部不同尺寸的手机,无需在模拟器上构建即可实时查看自动布局结果。
【讨论】:
以上是关于在情节提要中更改“查看为:iPhone”时出现 UI 错误的主要内容,如果未能解决你的问题,请参考以下文章
将项目从情节提要更改为 xib 文件时出现“此类与键的键值编码不兼容”错误
仅在从iPhone 11开始使用故事板启动后,应用程序启动时出现黑屏