如何支持应用程序的 iPhone X 分辨率或屏幕尺寸?
How to support iPhone X Resolution or screen size for Apps?
在今天的 2017 主题演讲和 iPhone X 发布之后,我对新 iphone 感到既担心又兴奋。这个问题更多的是关于用户界面、设计指南或界面设计方法,而不是技术问题。
我的问题是如何支持1125px × 2436px (375pt × 812pt @3x)分辨率?
苹果在其 Human Interface Guidelines for iPhoneX 上的这张图片显示,这里说它将支持 3x 图片扩展。但是顶部还有 185 点额外,并且考虑到 414 * 736 点 iphone 7 加上分辨率,它的宽度减少了 414 - 375 = 39 点。
您可以在此处查看分辨率比较:- https://www.paintcodeapp.com/news/ultimate-guide-to-iphone-resolutions。
我们如何才能为这个新的设计分辨率设计我们的应用程序?
一些问题场景:
支持方式:
- 水平图像视图缩放设备的整个宽度和固定高度。
- ImageViews 缩放整个宽度和高度(就像电子商务应用程序中的整页产品图像)。
- 有额外的 185 点高度,如果我在页面上显示有限的内容,会显示很多空白 space。例如,我如何设计一个高度为 400 像素并缩放整个宽度的视图。我应该保持顶部对齐居中垂直对齐吗?
我认为 185 分对于身高来说是一个很大的空间。我们需要重新考虑很多设计和屏幕。我们如何设计和解决这些场景?我希望我的问题现在已经很清楚了。
我的个人意见:- 无论多么艰难或混乱,最终用户体验都会更好,并且 更大 当我们习惯了这个解决方案。
请分享很棒的技术和设计过程。干杯!!!
替换 iOS 11 中的 Top
和 Bottom
布局指南 我们在为 [= 设计或更新自动布局时要牢记 Safe Layout Guides
35=]X。
适应iPhone X 显示的有用资源(Apple Dev.):
根据 Apple 的说法,遵守 Safe Layout Guide
将解决 iPhone X 的大部分自动布局问题。此外,根据上述来自 Apple 的视频,横向布局通常会导致 iPhone X。不过,应付iPhone X显示似乎并不难。
在查看了针对不同 UI 问题的可能解决方案后,我发现苹果在 iOS 11 中引入的安全区域布局指南可以提供很多帮助。
注意 :- 即使您的部署目标小于 iOS 11.
,也可以使用安全区域布局指南
safeAreaLayoutGuide 取代了 topLayoutGuide 和 bottomLayoutGuide 作为在视图和父视图之间创建约束的新方法。
为 iPhone X 添加分辨率为 1125px × 2436px 的启动图像
转到您的接口文件,select身份检查器。启用安全区域,如下所示。
如果你有一个 uiview 固定到你的视图的顶部,你可以 link 它的顶部约束到安全区域而不是 superview。
类似地,底部视图给安全区域而不是超级视图底部约束。
如果您知道如何创建编程约束,则可以使用布局锚点在顶视图上方包含安全区域。因此,您可以 link 您的布局以编程方式进入安全区域。
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
在今天的 2017 主题演讲和 iPhone X 发布之后,我对新 iphone 感到既担心又兴奋。这个问题更多的是关于用户界面、设计指南或界面设计方法,而不是技术问题。
我的问题是如何支持1125px × 2436px (375pt × 812pt @3x)分辨率?
苹果在其 Human Interface Guidelines for iPhoneX 上的这张图片显示,这里说它将支持 3x 图片扩展。但是顶部还有 185 点额外,并且考虑到 414 * 736 点 iphone 7 加上分辨率,它的宽度减少了 414 - 375 = 39 点。
您可以在此处查看分辨率比较:- https://www.paintcodeapp.com/news/ultimate-guide-to-iphone-resolutions。
我们如何才能为这个新的设计分辨率设计我们的应用程序?
一些问题场景:
支持方式:
- 水平图像视图缩放设备的整个宽度和固定高度。
- ImageViews 缩放整个宽度和高度(就像电子商务应用程序中的整页产品图像)。
- 有额外的 185 点高度,如果我在页面上显示有限的内容,会显示很多空白 space。例如,我如何设计一个高度为 400 像素并缩放整个宽度的视图。我应该保持顶部对齐居中垂直对齐吗?
我认为 185 分对于身高来说是一个很大的空间。我们需要重新考虑很多设计和屏幕。我们如何设计和解决这些场景?我希望我的问题现在已经很清楚了。
我的个人意见:- 无论多么艰难或混乱,最终用户体验都会更好,并且 更大 当我们习惯了这个解决方案。
请分享很棒的技术和设计过程。干杯!!!
替换 iOS 11 中的 Top
和 Bottom
布局指南 我们在为 [= 设计或更新自动布局时要牢记 Safe Layout Guides
35=]X。
适应iPhone X 显示的有用资源(Apple Dev.):
根据 Apple 的说法,遵守 Safe Layout Guide
将解决 iPhone X 的大部分自动布局问题。此外,根据上述来自 Apple 的视频,横向布局通常会导致 iPhone X。不过,应付iPhone X显示似乎并不难。
在查看了针对不同 UI 问题的可能解决方案后,我发现苹果在 iOS 11 中引入的安全区域布局指南可以提供很多帮助。
注意 :- 即使您的部署目标小于 iOS 11.
,也可以使用安全区域布局指南safeAreaLayoutGuide 取代了 topLayoutGuide 和 bottomLayoutGuide 作为在视图和父视图之间创建约束的新方法。
为 iPhone X 添加分辨率为 1125px × 2436px 的启动图像
转到您的接口文件,select身份检查器。启用安全区域,如下所示。
如果你有一个 uiview 固定到你的视图的顶部,你可以 link 它的顶部约束到安全区域而不是 superview。
类似地,底部视图给安全区域而不是超级视图底部约束。
如果您知道如何创建编程约束,则可以使用布局锚点在顶视图上方包含安全区域。因此,您可以 link 您的布局以编程方式进入安全区域。
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