• 设为首页
  • 点击收藏
  • 手机版
    手机扫一扫访问
    迪恩网络手机版
  • 关注官方公众号
    微信扫一扫关注
    公众号

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

[复制链接]
菜鸟教程小白 发表于 2022-12-13 09:37:13 | 显示全部楼层 |阅读模式 打印 上一主题 下一主题

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

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

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

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



Best Answer-推荐答案


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

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

我们开始用 Storyboard中的 View 替换在代码中创建的 View ,使用约束来定位它们。对于表格 View ,我们用 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/

回复

使用道具 举报

懒得打字嘛,点击右侧快捷回复 【右侧内容,后台自定义】
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

关注0

粉丝2

帖子830918

发布主题
阅读排行 更多
广告位

扫描微信二维码

查看手机版网站

随时了解更新最新资讯

139-2527-9053

在线客服(服务时间 9:00~18:00)

在线QQ客服
地址:深圳市南山区西丽大学城创智工业园
电邮:jeky_zhao#qq.com
移动电话:139-2527-9053

Powered by 互联科技 X3.4© 2001-2213 极客世界.|Sitemap