【问题标题】:How to support iPhone X Resolution or screen size for Apps?应用程序如何支持 iPhone X 分辨率或屏幕尺寸?
【发布时间】:2017-12-26 15:26:33
【问题描述】:

在今天的 2017 年主题演讲和 iPhone X 发布之后,我对新 iPhone 感到既担心又兴奋。这个问题更多的是关于用户界面、设计指南或界面设计方法,而不是技术问题。

我的问题是如何支持1125px × 2436px (375pt × 812pt @3x) 分辨率?

正如苹果在其Human Interface Guidelines for iPhoneX 上的图片所示,此处告知它将支持3x 图像扩展。但是顶部还有 185 个点,并且考虑到 iphone 7 plus 分辨率的 414 * 736 个点,它的宽度减少了 414 - 375 = 39 个点。

您可以在此处查看分辨率比较:​​- https://www.paintcodeapp.com/news/ultimate-guide-to-iphone-resolutions

我们如何才能为这种新的设计分辨率设计我们的应用程序?

一些问题场景:

如何支持:

  1. 水平图像视图缩放设备的整个宽度和固定高度。
  2. ImageViews 缩放整个宽度和高度(如电子商务应用中的整页产品图片)。
  3. 如果我在页面上显示有限的内容,会有额外的 185 点高度显示大量空白。例如,我如何设计一个高度为 400 像素并缩放整个宽度的视图。我应该保持顶部对齐中心垂直对齐吗?

我认为 185 分对于身高来说是一个很大的空间。我们需要重新考虑很多设计和屏幕。我们如何设计和解决这些场景?我希望我的问题现在已经足够清楚了。

我的个人意见:- 无论它多么艰难或混乱,当我们习惯这个解决方案时,最终用户体验将会变得更好并且更大

请分享很棒的技术和设计过程。干杯!!!

【问题讨论】:

  • 这与支持所有其他设备尺寸没有什么不同。你的问题确实不清楚。您真正期望 iPhone X 会遇到什么问题?
  • 我已经编辑了我的问题以分享一些场景

标签: ios iphone user-interface iphone-x


【解决方案1】:

在查看了针对不同 UI 问题的可能解决方案后,我发现苹果在 iOS 11 中引入的安全区域布局指南可以提供很多帮助。

注意:- 即使您的部署目标低于 iOS 11,也可以使用安全区域布局指南。

safeAreaLayoutGuide 取代了 topLayoutGuide 和 bottomLayoutGuide 作为在视图和父视图之间创建约束的新方法。

  1. 为 iPhone X 添加 1125px × 2436px 分辨率的启动图像

  2. 转到您的界面文件,选择身份检查器。启用安全区域,如下所示。

  3. 如果您将 uiview 固定到视图顶部,则可以将其顶部约束链接到安全区域而不是超级视图。

  4. 类似地,对于底视图,将底部约束赋予安全区域而不是超级视图。

如果您知道如何创建编程约束,则可以使用布局锚点在顶视图上方包含安全区域。因此,您可以通过编程将布局链接到安全区域。

topView.topAnchor.constraint(
+  equalTo: view.safeAreaLayoutGuide.topAnchor
).isActive = true

更新:另一种情况 - 假设您的屏幕顶部有一个 UIView。您希望此视图从 iPhoneX 的缺口下方开始。我们需要计算所有 iOS 11 设备和 iOS 11 以下设备的上边距如下:-

if (@available(iOS 11, *)) {
        UIWindow *window = UIApplication.sharedApplication.keyWindow;
        toppadding = 0.0;
        if (window.safeAreaInsets.top > 0)
        {
            toppadding = window.safeAreaInsets.top - 20;
        }
        //        CGFloat topPadding = window.safeAreaInsets.top;
        bottomPadding = window.safeAreaInsets.bottom;
        self.navigationViewTopConstraint.constant = toppadding;

    }
    else
    {
        bottomPadding = 0;
        self.navigationViewTopConstraint.constant = 0;
    }

进一步阅读:-Here

【讨论】:

    【解决方案2】:

    在 iOS 11 中替换 TopBottom 布局指南我们在为 iPhone X 设计或更新自动布局时要记住 Safe Layout Guides

    用于适应 iPhone X 显示器的有用资源(Apple 开发):

    根据 Apple 的说法,尊重Safe Layout Guide 将解决 iPhone X 的大部分自动布局问题。此外,根据 Apple 的上述视频,横向布局通常会导致 iPhone X 出现问题。但似乎没有太难应付 iPhone X 显示器了。

    【讨论】:

    • 是的。补充一点关于安全区域指南的内容......当您更新故事板以获取安全区域指南时,看起来很多应用程序都会做正确的事情,但请注意您的子视图实际上是 的应用程序想要全屏,比如3D游戏
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2011-11-15
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多