我已经使用界面生成器创建了一个 View Controller ,同时打开了大小类。
View 对其 super View (即 View Controller 的 View )具有前导和尾随约束。像这样的。
|-(14)-( View )-(14)-|
当我运行应用程序时,它看起来很棒, View 的两边都有 14pt 的插图,但当我打印它的宽度时,我得到 576,它比屏幕宽度更宽。在界面生成器中, View 的框架宽度设置为 576(作为打开大小类时的 Canvas 大小),但我猜在运行时约束应该覆盖它。
为什么 View 看起来正确,但它的框架显示更大的宽度??
Best Answer-推荐答案 strong>
您何时打印宽度?我猜在 ViewDidLoad 中。因为您使用 Interface Builder 并启用了大小类,所以默认情况下,宽度和高度为 600x600。在 View 加载时,尺寸仍然引用界面生成器的尺寸,直到 View 出现,它将根据屏幕尺寸自动缩放。这就是为什么你的 UIView 比屏幕宽的原因。
这是我从使用 Interface builder 构建的 View Controller 中打印出来的,并启用了大小类。在 iPhone 6S plus 上运行
[Size] at view 确实加载了 {{0, 0}, {600, 600}}
[Size] at view 确实出现了 {{0, 64}, {414, 623}}
关于ios - 为什么 UIView 比 Screen 宽,我们在Stack Overflow上找到一个类似的问题:
https://stackoverflow.com/questions/36886625/
|