如果是从导航栏位置开始布局,那不会有适配问题。但是如果是在无导航栏或者隐藏导航栏的情况下,就需要获取安全区域进行适配。
但是还有个问题需要注意,就是安全区的顶部距离是已经包含状态栏高度的了。
CGFloat top = NAVIGATION_BAR_HEIGHT;
CGFloat safeTop = 0 ;
if(@available(iOS 11.0, *)) {
safeTop = [UIApplication sharedApplication].keyWindow.safeAreaInsets.top;
}
CGFloat height = safeTop > 0 ? safeTop : 20.0; //顶部安全区为0时,不是刘海屏 ,则加上状态栏高度.
top += height;
网友评论