菜鸟教程小白 发表于 2022-12-13 09:37:22

ios - 用于纵向和横向的自动布局 iPad


                                            <p><p>鉴于我们只有 iPad 纵向和 iPad 横向的通用尺寸类别,您最终如何针对不同方向自定义 iPad 的自动布局行为/约束?</p>

<p>我想在肖像中拥有这样的东西:<img src="/image/T8w2N.png" alt="enter image description here"/> </p>

<p>这在横向:<img src="/image/tkEgI.png" alt="enter image description here"/> </p></p>
                                    <br><hr><h1><strong>Best Answer-推荐答案</ strong></h1><br>
                                            <p><p>在 iOS 8 中,您可以使用 viewWillTransitionToSize:withTransitionCoordinator:,在 Controller 旋转时收到通知。使用高度与宽度的比率来确定您要移动到哪个方向,并相应地调整您的约束。您可以将 IBOutlets 设置为 View 的高度和宽度约束,并在该方法内更改它们的常量值。</p>

<p>另一种方法是同时使用乘数和常数,以自动调整旋转约束。例如,相对宽度约束的公式是:</p>

<p>subview.width = superview.width * 乘数 + 常数</p>

<p>因此,例如,如果您希望纵向 View 全宽 (768) 和横向 View 全宽 (768),您可以求解这两个方程,</p>

<pre><code>768 = 768 * m + c   and   350 = 1024*m + c

Solving those, gives you m= -1.6328and   c= 2022
</code></pre>

<p>要使用它,您可以在 IB 中为您的 subview 设置宽度限制,但选中“在构建时删除”框,以便将其删除并替换为您在代码中添加的那个。</p>

<pre><code>- (void)viewDidLoad {
    ;
    ];
}
</code></pre>

<p>通常,您可以在 IB 中完成所有这些操作,但前提是乘数为正;我用这些数字试过了,系统不允许我使用负数作为乘数。</p></p>
                                   
                                                <p style="font-size: 20px;">关于ios - 用于纵向和横向的自动布局 iPad,我们在Stack Overflow上找到一个类似的问题:
                                                        <a href="https://stackoverflow.com/questions/26549987/" rel="noreferrer noopener nofollow" style="color: red;">
                                                                https://stackoverflow.com/questions/26549987/
                                                        </a>
                                                </p>
                                       
页: [1]
查看完整版本: ios - 用于纵向和横向的自动布局 iPad