ios - 当用户在通话状态栏中时,导航栏布局出现异常
问题描述
在我切换通话状态栏后,导航栏会下降。而后面的内容高度为 20 。
我不知道为什么。
图为现场。
看起来导航栏掉了。蓝条落下。
从视图层级调试器看,不知道为什么蓝条和导航条有距离。
这是相关的代码。
- (void)viewWillLayoutSubviews{
self.blueBar.translatesAutoresizingMaskIntoConstraints = NO;
[super viewWillLayoutSubviews];
[self.blueBar.topAnchor constraintEqualToAnchor: self.view.topAnchor].active = YES;
[self.blueBar.leadingAnchor constraintEqualToAnchor: self.view.leadingAnchor].active = YES;
[self.blueBar.trailingAnchor constraintEqualToAnchor: self.view.trailingAnchor].active = YES;
[self.blueBar.heightAnchor constraintEqualToConstant: 75].active = YES;
......
}
-(UIView *)blueBar{
if(!_blueBar){
_blueBar = [[UIView alloc] init];
_blueBar.backgroundColor = [UIColor blueColor];
}
return _blueBar;
}
解决方案
通话时状态栏高度从 20 变为 40。我发现你使用 tableView,所以试试这个:
if (@available(iOS 11.0, *)) {
self.tableView.contentInsetAdjustmentBehavior = UIScrollViewContentInsetAdjustmentNever;
} else {
self.automaticallyAdjustsScrollViewInsets = NO;
}
更何况,为什么不用主流框架Masonry
呢?
推荐阅读
- android - 从 Activity 或 Fragment 启动服务?
- r - R wordcloud2显示空白页
- php - 带有回显单选按钮值的未定义索引 PHP
- python - 为列表迭代器编写单元测试?
- c# - 在 Unity 中按下任何 Button 对象时,是否有任何方法可以播放特定声音?
- xsd - 如何在从 XSD 生成的 JAXB2 生成的 Java 上生成额外的注释
- ember.js - Ember:处理路线时出错。无法访问 API
- javascript - 使用javascript返回一个三角形的整数,其行数等于给定的整数
- c# - 缩放画布 InkStrokes
- hyperledger-composer - 在超级账本作曲家 0.19.3 客户端中无法接收事件