美文网首页
侧滑返回上层,界面卡

侧滑返回上层,界面卡

作者: sfandy | 来源:发表于2016-07-28 13:13 被阅读36次

问题显现,见图:

bug02.png

原因详解:

1.a界面隐藏了状态栏,b界面显示状态栏,左滑动,返回到a界面,此时观察发现滑动时,b界面整体上移了20px

解决方案:

定义个变量

 @property (nonatomic, assign) BOOL isViewDidAppear;


- (void)viewWillAppear:(BOOL)animated{
 self.isViewDidAppear = NO;
}

- (void)viewWillDisappear:(BOOL)animated {
[super viewWillDisappear:animated];    
self.isViewDidAppear = NO;
}

界面完全显示时,手动调用prefersStatusBarHidden方法,且强制更新隐藏状态栏状态
- (void)viewDidAppear:(BOOL)animated {
   [super viewDidAppear:animated];
   self.isViewDidAppear = YES;
   [self prefersStatusBarHidden];
   if ([self respondsToSelector:@selector(setNeedsStatusBarAppearanceUpdate)]) {
    [self setNeedsStatusBarAppearanceUpdate];
 }
}

- (BOOL)prefersStatusBarHidden {
   return self.isViewDidAppear;
}

相关文章

网友评论

      本文标题:侧滑返回上层,界面卡

      本文链接:https://www.haomeiwen.com/subject/csjajttx.html