菜鸟教程小白 发表于 2022-12-13 16:00:45

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]
查看完整版本: ios - 为什么 UIView 比 Screen 宽