我们有一些仍在使用Autoresizing mask的遗留项目,在iOS 11和iPhone X之前一切正常.随着安全区域布局指南的引入,支持iPhone X的最佳解决方案是什么? 我们可以使用自动调整掩码转换所有接口以
>我们可以使用自动调整掩码转换所有接口以使用自动布局.考虑到动态添加和调整视图,这似乎是一项重大工作.
>我们继续使用自动调整遮罩,但调整界面以添加iPhone X和iOS 11的嵌入边距.
如果您选择仅继续使用自动调整大小的掩码,则下面的帮助程序方法可以帮助您正确地布局视图.
statusBarHeight为您提供设备状态栏的高度. safeAreaBottomMargin为您提供iPhoneX主页按钮指示器的左下边距.
- (CGFloat) statusBarHeight { return UIApplication.sharedApplication.statusBarFrame.size.height; } - (CGFloat) safeAreaBottomMargin { if (@available(iOS 11.0, *)) { UIWindow *window = UIApplication.sharedApplication.windows.firstObject; return window.safeAreaLayoutGuide.owningView.frame.size.height - window.safeAreaLayoutGuide.layoutFrame.size.height - window.safeAreaLayoutGuide.layoutFrame.origin.y; } else { return 0; } }