我已经使用界面生成器创建了一个 View Controller ,同时打开了大小类。
View 对其 super View (即 View Controller 的 View )具有前导和尾随约束。像这样的。
|-(14)-( View )-(14)-|
当我运行应用程序时,它看起来很棒, View 的两边都有 14pt 的插图,但当我打印它的宽度时,我得到 576,它比屏幕宽度更宽。在界面生成器中, View 的框架宽度设置为 576(作为打开大小类时的 Canvas 大小),但我猜在运行时约束应该覆盖它。
为什么 View 看起来正确,但它的框架显示更大的宽度??
您何时打印宽度?我猜在 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/
欢迎光临 OGeek|极客世界-中国程序员成长平台 (https://ogeek.cn/) | Powered by Discuz! X3.4 |