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

侧滑返回上层,界面卡

作者: 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