用户在通话状态栏中时,NavigationBar布局有异常

时间:2018-09-07 19:12:13

标签: ios objective-c uiview

在我切换通话中状态栏后,导航栏会掉落。而后面的内容的高度下降了20。

我不知道为什么。

图片显示了场景。

1

看起来像导航栏掉落了。蓝色条会掉下来。

从视图层次结构调试器中可以看到,我不知道为什么蓝色条与导航条之间有一段距离。

2

这是相关的代码。

- (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;
}

1 个答案:

答案 0 :(得分:1)

通话时状态栏的高度从20变为40。我发现您使用的是tableView,请尝试以下操作:

if (@available(iOS 11.0, *)) {
    self.tableView.contentInsetAdjustmentBehavior = UIScrollViewContentInsetAdjustmentNever;
} else {
    self.automaticallyAdjustsScrollViewInsets = NO;
}

还有,为什么不使用主流框架Masonry