每次我打开情节提要时视图错位

Posted

技术标签:

【中文标题】每次我打开情节提要时视图错位【英文标题】:Missplaced views every time i open the storyboard 【发布时间】:2014-10-14 07:10:21 【问题描述】:

我正在使用带有一些 ViewControllers 的情节提要,这些 ViewControllers 的元素使用自动布局定位。每次我打开故事板时,我都会得到错位的视图即使我修复了所有视图。我必须一次又一次地更新框架。有没有什么办法解决这一问题? 我正在使用 xcode 6。

【问题讨论】:

这可能与 Size classe 相关,可能您正在使用 wAny hAny 以外的尺寸类设计界面。默认情况下,Storyboard 将始终在 wAny hAny 中打开。这样您的故事板可能看起来会有所不同。关于尺寸等级,你能澄清一下吗? 是的,你是对的。我正在使用 wCompact hAny。我尝试将其设置回 wAny hAny,但我在情节提要中获得了空视图,并且文档大纲中的所有元素和约束都变灰了。 wCompact hAny 以纵向定位 iPhone。如果您的应用仅支持 iPhone(仅限纵向),您可以使用该尺寸等级。无论您添加什么,都将特定于该设备/方向。这就是为什么它被其他尺寸等级淘汰的原因。实际上你必须在 wAny hAny 中设计它,它将适用于所有设备/方向 我知道。这就是我设计的目的。我可能想稍后添加其他尺寸,但现在没关系。尽管如此,我还是厌倦了获取错位的视图警报。当我打开故事板时,它会将我的设置为 wCompact hAny。 对我来说同样的问题。这令人难以置信的令人沮丧,因为它扭曲了所有的约束和位置,我必须重新设置所有内容。如果您解决了这个问题,请告诉我。令人难以置信的令人沮丧! 【参考方案1】:

正如@Anil Varghese 所指出的,问题在于视图的大小。打开故事板文件时,除了 wAny hAny 之外的任何内容都会触发此警告。我认为这是一个 Xcode 错误。

所以我必须确保我的视图设置如上图所示。这意味着要针对所有尺寸进行设计,因此,就我而言,我的 UI 变得一团糟,我不得不重新设计它。但这是最好的!

当您更改为 wAny hAny 时,您查看的元素将变得不可见,因为它们绑定到其他尺寸类(如 wCompact hAny)。您需要从属性检查器中删除这些规则。

【讨论】:

【参考方案2】:

我遇到了同样的问题,我也不知道如何完全解决它,但我找到了这种方法来让它显示我想要的。

“重置为建议的约束”

然后,我将情节提要设置回“w Compact h Regular”。

希望对你有帮助。

【讨论】:

以上是关于每次我打开情节提要时视图错位的主要内容,如果未能解决你的问题,请参考以下文章

如何在 swift 中从情节提要中的 didSelectRowAt indexPath 打开视图标签栏控制器?

情节提要已损坏

在使用情节提要和 segue 时打开它之前选择 tabbarcontroller 的默认选项卡

如何以编程方式使用另一个视图中的按钮从情节提要中打开 UIViewController?

Xcode 在情节提要中使用推送通知打开特定视图

使用情节提要时如何使用摇动手势?