如何检测iOS中的圆角屏幕

问题描述 投票:0回答:2

On(https://developer.apple.com/ios/human-interface-guidelines/overview/iphone-x)Apple告诉我们“屏幕底部出现的全宽按钮看起来最好,当它有圆角并与安全区域的底部对齐时......”

因此,如果屏幕的角是圆形的,我想绕着按钮的角落,但是当屏幕角落很尖锐时,我会想要有尖角。

我只是检查应用程序是否在iPhone X上运行,但我希望未来的设备也会有圆角,我不希望每次新设备出现时都要重新访问此代码。

我已经在我的应用代表中检查了window.layer.cornerRaidus ...

ios iphone ios11 iphone-x
2个回答
1
投票

而不是检测圆角,检测底部安全区域下的非零区域。如果这个区域足够大,请与它对齐(但显然不在其中),并且可能围绕按钮角落作为您对未来的随机赌注。如果没有,请将标准自动布局底部边距保留在按钮下,然后使用标准按钮UI。

无论您做什么,请注意Apple可能会或将会更改其UI指南和UI API以及外观,因此请不要将您的面向未来的设计放在面向未来的位置。


0
投票

考虑到我们如何检查我们是否使用iphone-x(例如,参见this SO answer),我认为不存在并且很快就会找到一个干净的方法来解决这个问题。

而且,在我看来,安全区域的存在表明不希望检测到这一点。安全区域是一个可以绘制的矩形,你不应该在它之外绘制,或者我甚至会说你甚至不应该关心那里有什么(或者那里没有)。

来自Positioning Content Relative to the Safe Area的摘录:

安全区域可帮助您将视图置于整个界面的可见部分。

这是保证可用于您的布局的东西,您不应该真正关心它的外部。

关于the guidelines,你引用了:

插入全宽按钮。

延伸到屏幕边缘的按钮可能看起来不像按钮。尊重全宽按钮两侧的标准UIKit边距。当屏幕底部出现圆角并与安全区域的底部对齐时,屏幕底部出现的全宽按钮效果最佳 - 这也确保它不会与Home指示灯冲突。

请注意,没有提到屏幕的圆角。因此,虽然这是一个公平的假设,这是他们推荐这种布局背后的原因,但我不会过早地试图将其概括为一般。

© www.soinside.com 2019 - 2024. All rights reserved.