原全屏适配在iPhoneX会由于安全区域的变化导致显示不全。
解决方案如下:
在self.view上添加一个view,剩下的视图基于该view布局,view的约束随self.view.safeAreaInsets的改变需要重置:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
|
- ( void )viewDidLoad {
[ super viewDidLoad];
// Do any additional setup after loading the view.
self.view.backgroundColor = [UIColor blackColor];
if ( @available (iOS 11 , *)) {
[self setAdditionalSafeAreaInsets:self.view.safeAreaInsets];
}
[self defaultUI];
[self addNotification];
}
//iOS11新增,安全区域发生改变时调用
- ( void )viewSafeAreaInsetsDidChange{
[ super viewSafeAreaInsetsDidChange];
[self defaultUIWithSafeAreaInsets:self.view.safeAreaInsets];
}
|
总结
以上所述是小编给大家介绍的iPhoneX无导航栏页面适配问题解决方案,希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对服务器之家网站的支持!
原文链接:http://blog.csdn.net/rainbowfactory/article/details/78517354