gpt4 book ai didi

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

转载 作者:塔克拉玛干 更新时间:2023-11-02 09:41:59 25 4
gpt4 key购买 nike

我正在使用 Xcode 6 和 iOS 8。该项目是从 iOS 5 开始编写的,未使用自动布局。所以有大量的自动调整大小和大量的代码通过操纵它们的框架来移动控件和 View 。

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

例如,动态创建一个将放置在 View 中但不需要在该 View 中操纵其位置的控件。您会摆脱 initWithFrame: 并通过约束完成所有操作,还是保留它?

在我看来两者可以共存,只要控件在创建和放置后是静态的即可。

最佳答案

您可以在同一个项目甚至同一个 View Controller 中混合使用自动布局和框架代码。如何迁移到仅使用自动布局取决于您。你有多少时间?现有的框架代码维护起来有多复杂?

我们在应用中采用的方法是创建 Storyboard并向其中添加 View Controller 。我们将它们映射到我们现有的 VC 类,然后测试它们的外观。

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

我们发现,将整个 View Controller 转换为全自动布局方法通常效果最好,无需使用任何框架。一些 View Controller 有非常复杂的框架逻辑,我们没有管它们——我们甚至没有在 Storyboard中定义这些。

总而言之,我们将大约 25 或 30 个 View Controller 迁移到 Storyboard,我们在这方面做得非常好。尽管偶尔会头疼,但我还是 Storyboard和自动布局的忠实粉丝。它使我们非常顺利地过渡到更大的设备。

关于ios - 将 iOS 项目转换为自动布局,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26534828/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com