导航栏隐藏显示问题

小白一枚,最近敲代码碰到的问题,上滑隐藏到货栏,跳到下一个页面,返回来导航栏又出来了。
我用的是这种隐藏方式。一开始用-(void)scrollViewDidScroll:(UIScrollView *)scrollView
这个方法,如果第一个界面隐藏了导航栏,跳到下一个界面导航栏出不来,一闪而过。小白表示不明所以然。

-(void)scrollViewWillEndDragging:(UIScrollView *)scrollView withVelocity:(CGPoint)velocity targetContentOffset:(inout CGPoint *)targetContentOffset
{
    if (velocity.y<0) {
        [self.navigationController setNavigationBarHidden:NO animated:YES];
        self.isNaviHidden=NO;
    }else
    {
        [self.navigationController setNavigationBarHidden:YES animated:YES];
        self.isNaviHidden=YES;
    }
}

其中加了个Bool属性纪录是否隐藏了导航栏。然后:

-(void)viewWillAppear:(BOOL)animated
{
    if (self.isNaviHidden) {
        [self.navigationController setNavigationBarHidden:YES animated:YES];
    }
    
}

在viewWillAppear里加了个判断,就可以了。

你可能感兴趣的:(导航栏隐藏显示问题)