【发布时间】:2015-09-08 11:00:29
【问题描述】:
我有一个兼容 iPhone 5S(最高 5S)的旧 iOS 应用程序。它是通过使用常规 xib 甚至故事板构建的,并且没有使用任何自动布局概念(也没有检查 xib 的自动布局选项),现在我为 iPhone 6 和 6-plus 放置了相关的启动屏幕以更新兼容性其余两个设备和用户界面现在看起来很糟糕。是否有任何简单的方法可以将项目更新为与 iPhone 6 和 6-Plus 兼容,我的意思是即使在为 iPhone 6 和 6-plus 放置了相关的启动屏幕之后也要调整 UI(没有斜线屏幕,该应用程序在 iPhone 中运行良好6 和 6-plus 但客户希望在 Appstore 中看到他们的应用程序必须提示“此应用程序已针对 iPhone 5、iPhone 6 和 iPhone 6 Plus 进行了优化。”)。 不要认为我是一个愚蠢的要求一个简单的解决方案的人,但是我在那个应用程序中有 50 多个 xib 该怎么办,所以建议我哪个是更新项目兼容性的更好和最简单的方法。请建议。谢谢。
【问题讨论】:
-
如果所有布局都在 XIB 中执行(而不是在具有硬编码值的代码中),那么我认为手动切换到自动布局应该不会花费很长时间。只需向所有 XIB 添加约束。我相信,即使是 50 个 XIB,也可以在 1-2 天内完成。不幸的是,我不知道更好的方法。让我们希望其他人会出现。
-
没有别的办法,只能硬着头皮走,对不起:)
-
@FreeNickname 感谢您的快速回复。但是我有几个屏幕需要在滚动视图中加载动态视图。我将等待任何其他建议,否则我将遵循您的建议。谢谢。
-
6 个月前,我在使用 150 XIB 应用程序时遇到了同样的大问题。在我的例子中,有一个糟糕的 MVC 架构,在很多 VC 中,视图和流(控制器)非常相互依赖,所以我必须配置所有的机制来使这个 UI 兼容。如果与您的情况相同,上帝会帮助您:) 如果不是,我建议您在易于实现时进行自动布局,如果存在复杂的视图层次结构或动画,则建议您进行自动调整蒙版。
-
如果@FreeNickname 错误,并且不需要手动操作,iOS 会自动为您完成。布局约束是 Apple 必须引入以支持其想要销售的硬件的技术之一,而不是那些由开发策略驱动的强制转换之一。
标签: ios objective-c iphone autolayout