如何解决如何迅速为新的iPhone设备设置安全区域布局
我创建了一个简单的view.Xib文件,如果由于任何原因互联网连接中断或断开连接,我的视图将显示在底部。
为此,我以编程方式设置了NSLayoutConstraint
。
- 如果我使用
SafeAreaLayout
,它将在每个新的iPhone设备(如iPhone XR,11,Pro或Pro max)的底部提供空格。 - 如果我不使用
SafeAreaLayout
,则底部视图无法正确显示。
在带有SafeAreaLayout
的所有其他设备(iPhone 7、8或更高版本)中,它可以正常工作。
如何在底部没有空间的情况下正确设置视图?
我的代码:
let viewW = offlineView.fromNib()
view.addSubview(viewW)
viewW.translatesAutoresizingMaskIntoConstraints = false
NSLayoutConstraint.activate([
viewW.leadingAnchor.constraint(equalTo: self.view.leadingAnchor),viewW.trailingAnchor.constraint(equalTo: self.view.trailingAnchor),viewW.topAnchor.constraint(equalTo: self.view.bottomAnchor,constant: -25),viewW.bottomAnchor.constraint(equalTo: self.view.bottomAnchor),])
let viewW = offlineView.fromNib()
view.addSubview(viewW)
viewW.translatesAutoresizingMaskIntoConstraints = false
NSLayoutConstraint.activate([
viewW.leadingAnchor.constraint(equalTo: self.view.safeAreaLayoutGuide.leadingAnchor),viewW.trailingAnchor.constraint(equalTo: self.view.safeAreaLayoutGuide.trailingAnchor),viewW.topAnchor.constraint(equalTo: self.view.safeAreaLayoutGuide.bottomAnchor,viewW.bottomAnchor.constraint(equalTo: self.view.safeAreaLayoutGuide.bottomAnchor),])
附带的屏幕截图:
SafeArea:
没有SafeArea:
解决方法
您可能想尝试这种方法...
约束“暗”视图:
- 引领超级观看领先
- 跟踪到超级观看跟踪
- 从底部到超级观看底部
- 没有高度限制
然后,将“圆形”视图添加为darkView的子视图,并进行约束:
- 追踪到darkView追踪:4分
- 从上到下查看顶部:4个点
- 从底部进入根视图安全区域底部:4个点
和标签(也是darkView的子视图)受约束:
- 从尾随到圆尾随:8分
- CenterY圈出CenterY
现在...
自动布局将把darkView的底部保持在屏幕底部,而darkView的Top 4点保持在圆形视图顶部。
自动布局将使圆形视图的底部距视图底部4点(没有软主页按钮时)和安全区底部4点(当为主页按钮。
这是结果-黄色虚线是安全区域界限。
在iPhone 8上:
以及在iPhone 11 Pro上:
及其在情节提要中的外观:
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。