我正在开始研究缩小iPad应用程序的尺寸以适合iPhone的尺寸。主要问题是,除自定义UIInputView外,该项目不使用.storyboards或.xib文件。
我的主要问题围绕布局(显然)。由于所有帧值都在代码中,因此基于总帧大小,允许多个不同帧的最佳(最短)方法是什么?
我知道在情节提要中这很容易,但是由于有多个开发人员和SVN的使用,我们不得不在最初的开发过程中放弃使用它们。我在有关该主题的一些Google查询上没有看到很多资源,大多数开发人员都从iPhone-> iPad开始,而不是相反。
我知道以下代码:
if (UI_USER_INTERFACE_IDIOM() == UIUserInterfaceIdiomPhone)
但是我不想在代码中为我们设置某些框架的500多个位置执行此操作。
将所有帧定义提取到一个类中以检索设备特定的帧大小会更有效吗?
其他一些注意事项:除了弹出式窗口外,我们没有使用其他iPad专用的东西。整个接口大部分是嵌套在一个主UIViewController上的UIView。
这正是自动版式要解决的问题之一。在这些场景的背后,所有东西现在都在使用“自动布局”,但是如果您有很多尺寸的硬编码常量值,那么您就需要进行大量工作才能真正利用其新功能。
如果要避免使用故事板/ xib,我建议考虑重构代码,以免通过框架/边界使用静态大小(即,很多initWithFrame调用),而应尽可能使用Visual Format Language,然后将其完全压缩。根据需要NSLayoutConstraints。
您需要阅读并理解以下内容:以编程方式使用自动版式
使用VFL,您几乎可以将所有尺寸和位置表示为相对值。在无法做到的地方,可以使用需要为iPad v。iPhone显式设置的值(将其相对的计算值不起作用)将指标传递到VFL呼叫中。
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句