禁用大小类后 UIView 无法正确显示

Posted

技术标签:

【中文标题】禁用大小类后 UIView 无法正确显示【英文标题】:UIViews not displayed properly after disabling size classes 【发布时间】:2016-04-20 09:30:18 【问题描述】:

在尝试了很多之后,我无法弄清楚为什么我的 UIView 在不同的设备上显示不一样。最初我使用自动布局和大小类,但在遇到很多问题后,我的上级告诉我不要使用自动布局和禁用大小类。所以我这样做了,但我对 4s、5s 和 6s 的看法不同。这就是我在故事板中放置所有元素的方式。

我在 iPhone 4s 上运行项目后,它看起来像。

在 5s 上(这应该是所有设备上的样子):

6s(请忽略屏幕调光效果):

有人可以指出我哪里出错了。谢谢。 P.S:我被告知要创建一个新项目并重新开始,但问题是我已经创建了更多视图和类文件,我不想重新开始,也想知道是什么原因造成的这个问题。

【问题讨论】:

为什么要禁用自动布局?为什么你的前辈会给出这样的建议?如果您遇到一些困难然后停止使用它,这不是一个好的解决方案。你的屏幕太容易用自动布局来处理了。现在你们没有使用自动布局,那么您可以尝试自动调整大小 @Lion - 我有更多屏幕,希望它们在所有设备上都显示相同。我必须按照我被告知的去做。是的,我启用了自动调整大小。 【参考方案1】:

继续使用尺寸等级,然后禁用它,同时禁用它你会得到一个选项

保持尺码等级,选择 iPhone 即可开始使用。

【讨论】:

以上是关于禁用大小类后 UIView 无法正确显示的主要内容,如果未能解决你的问题,请参考以下文章

无法将 NIB 文件加载到 UIView

UIScrollView - 无法查看所有 UIView

UIView 子视图不是为 iPad 自动旋转或自动调整大小

在 stackview 中调整 UIView 的大小

将布局更改为自定义类后,UicollectionViewCell 未显示

如何根据 UITextView 动态调整 xib 的大小