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

ios - 将 iOS 项目转换为自动布局


                                            <p><p>我使用的是 Xcode 6 和 iOS 8。该项目是从 iOS 5 开始编写的,而不是使用自动布局。因此,有大量的自动调整大小和大量通过操纵框架来移动控件和 View 的代码。 </p>

<p>我知道两者都可以使用,但您是进行完整的转换,消除对框架属性的所有引用,还是只保留那些有效的? </p>

<p>例如,动态创建一个控件,该控件将放置在 View 中,但不需要在该 View 中操纵其位置。你会摆脱 initWithFrame: 并通过约束来完成它,还是直接离开它?</p>

<p>在我看来,两者可以共存,只要控件在创建和放置后是静态的。</p></p>
                                    <br><hr><h1><strong>Best Answer-推荐答案</ strong></h1><br>
                                            <p><p>您可以在同一个项目甚至同一个 ViewController 中混合使用自动布局和框架代码。如何迁移到仅使用自动布局取决于您。你有多少时间?现有的框架代码维护起来有多复杂?</p>

<p>我们在应用中采用的方法是创建一个 Storyboard并向其中添加 ViewController 。我们将这些映射到我们现有的 VC 类,然后测试它们的外观。 </p>

<p>我们开始用 Storyboard中的 View 替换在代码中创建的 View ,使用约束来定位它们。对于表格 View ,我们用 Storyboard 中的原型(prototype)单元格替换了许多定义自定义单元格的丑陋 .xib 文件。我们还用 Storyboard 中的 View 替换了表格页眉和页脚。 </p>

<p>我们发现将整个 ViewController 转换为全自动布局方法通常效果最好,从而消除对框架的任何使用。一些 ViewController 具有非常复杂的框架逻辑,我们不去管它——我们甚至没有在 Storyboard中定义这些。 </p>

<p>总的来说,我们将大约 25 或 30 个 ViewController 迁移到 Storyboard 中,并且做得非常好。尽管偶尔会让人头疼,但我还是 Storyboard和自动布局的忠实粉丝。它使我们向更大设备的过渡非常顺利。</p></p>
                                   
                                                <p style="font-size: 20px;">关于ios - 将 iOS 项目转换为自动布局,我们在Stack Overflow上找到一个类似的问题:
                                                        <a href="https://stackoverflow.com/questions/26534828/" rel="noreferrer noopener nofollow" style="color: red;">
                                                                https://stackoverflow.com/questions/26534828/
                                                        </a>
                                                </p>
                                       
页: [1]
查看完整版本: ios - 将 iOS 项目转换为自动布局