【问题标题】:Supporting multiple iPhone resolutions with a single storyboard使用单个故事板支持多种 iPhone 分辨率
【发布时间】:2014-09-17 10:21:07
【问题描述】:

我们都会将我们的应用程序更新到 iphone 6 和 iphone 6 plus。这意味着我们需要支持 4 种尺寸。

1.) 3.5
2.) 4
3.) 4.7
4.) 5.5

我们可以通过单个 xib 或故事板支持所有这些屏幕尺寸吗?也请分享您对我们如何更新我们现有的 iphone 6 和 iphone 6 plus 应用程序的看法。

【问题讨论】:

    标签: ios ios8 screen-size iphone-6 iphone-6-plus


    【解决方案1】:

    是的。具体请参见 Apple 的 iOS8 documentation,大小等级:

    iOS 8 让屏幕尺寸和方向的处理更加灵活。为您的应用程序创建一个在 iPad 和 iPhone 上都能正常运行的单一界面比以往任何时候都容易,可以根据需要调整方向变化和不同的屏幕尺寸。设计具有通用界面的应用程序,然后针对不同的大小类别对其进行自定义。使您的用户界面适应每个外形尺寸的优势。您不再需要创建特定的 iPad 故事板;而是针对适当的尺寸类别并调整您的界面以获得最佳体验。

    iOS 8 中有两种尺寸类别:常规和紧凑。常规尺寸类表示大量的屏幕空间,例如在 iPad 上,或提供大量屏幕空间错觉的常用范例,例如在 iPhone 上滚动。每个设备都由一个大小类定义,包括垂直和水平。

    WWDC site上也有很好的教程视频。

    要停止缩放您的 iPhone 6/6+ 应用,add a launch image of the correct size 或更好,请使用启动故事板。

    从那里您应该使用 AutoLayout 并避免硬编码到屏幕尺寸。从长远来看,这将大大减少工作量并且不易出错。

    【讨论】:

    • 尺寸类只处理 iPhone 和 iPad 之间以及纵向和横向之间的差异。我有兴趣知道(我猜还有 OP)是如何处理不同 iPhone 尺寸的布局,因为所有 iPhone 都属于一个尺寸等级。
    • 自动布局。 Apple 的策略似乎是将代码与屏幕尺寸分离(这是一件非常好的事情),并通过四种可以采用不同布局的通用视图“形状”推动人们走上自动布局的道路。
    • 抱歉,您的评论太笼统了。从实际的角度来看,我特别问如何做到这一点。我知道应该用自动布局来完成,只是不知道具体如何:-)
    • 我不确定 Apple 是否会这样做 - iPhone 6+ 的横向格式很宽,因此与众不同。如果你想让 6+ 显示比 6纵向更多的视图,你仍然需要检查显示大小的代码(或其他区分设备的方式)。我不认为大小类可以变魔术。
    【解决方案2】:

    在现有项目中,您可以使用自动调整大小或自动布局 xib 文件.. 支持所有 4 种设备。

    我已经使用自动调整大小来实现我的项目以支持所有设备。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2015-04-01
      • 1970-01-01
      • 2013-05-12
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多