OGeek|极客世界-中国程序员成长平台

标题: ios - 为什么 UIView 比 Screen 宽 [打印本页]

作者: 菜鸟教程小白    时间: 2022-12-13 16:00
标题: ios - 为什么 UIView 比 Screen 宽

我已经使用界面生成器创建了一个 View Controller ,同时打开了大小类。

View 对其 super View (即 View Controller 的 View )具有前导和尾随约束。像这样的。

|-(14)-( View )-(14)-|

当我运行应用程序时,它看起来很棒, View 的两边都有 14pt 的插图,但当我打印它的宽度时,我得到 576,它比屏幕宽度更宽。在界面生成器中, View 的框架宽度设置为 576(作为打开大小类时的 Canvas 大小),但我猜在运行时约束应该覆盖它。

为什么 View 看起来正确,但它的框架显示更大的宽度??



Best Answer-推荐答案


您何时打印宽度?我猜在 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