【问题标题】:status bar expanding scrollview and pushing content off screen状态栏扩展滚动视图并将内容推离屏幕
【发布时间】:2016-04-06 12:54:19
【问题描述】:

我有一个垂直的、启用分页的滚动视图,有两页,我想在首页显示状态栏,而不是在底页。

我尝试使用 UIScrollViewDelegate 方法在视图完成滚动时显示/隐藏状态栏:

- (void)scrollViewDidEndDecelerating:(UIScrollView *)scrollView {
  // top page
  if (scrollView.contentOffset.y == 0){
    [[UIApplication sharedApplication] setStatusBarHidden:NO withAnimation:UIStatusBarAnimationFade];
    [self.delegate messagesActive:self];
  } 
  // bottom page
  else if (scrollView.contentOffset.y == self.view.frame.size.height){
    [[UIApplication sharedApplication] setStatusBarHidden:YES withAnimation:UIStatusBarAnimationFade];
  }
}

但每次我从底部页面滚动到顶部页面时,状态栏都会在我的页面视图上方创建自己的空间,并将视图向下推离屏幕。无论是否有淡入淡出动画,都会发生这种情况。

下一个屏幕触摸会以某种方式强制视图通过滑动动画进行自我纠正:

如何让状态栏立即覆盖我的视图,而不是在其上方扩展空间?

【问题讨论】:

    标签: ios uiscrollview ios9


    【解决方案1】:
    // ... in viewDidLoad
    self.automaticallyAdjustsScrollViewInsets = NO
    

    另外,从 iOS 9 开始,UIApplication setStatusBarHidden 已弃用且不应使用。这种技术同样适用于动态和动画状态栏:setStatusBarHidden(_:withAnimation:) deprecated in iOS 9

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2017-07-06
      • 2017-11-03
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多