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