iOS UIScrollView 上下滑動導航欄漸變或隱藏


導航欄顏色漸變或者設置隱藏

1.系統導航

- (void)scrollViewDidScroll:(UIScrollView *)scrollView
{
    //scrollView已經有拖拽手勢,直接拿到scrollView的拖拽手勢
    UIPanGestureRecognizer *pan = scrollView.panGestureRecognizer;
    //獲取到拖拽的速度 >0 向下拖動 <0 向上拖動
    CGFloat velocity = [pan velocityInView:scrollView].y;
    
    if (velocity <- 5) {
        //向上拖動,隱藏導航欄
        [self.navigationController setNavigationBarHidden:YES animated:YES];
    }else if (velocity > 5) {
        //向下拖動,顯示導航欄
        [self.navigationController setNavigationBarHidden:NO animated:YES];
    }else if(velocity == 0){
        //停止拖拽
    }
}

2.自定義導航

- (void)scrollViewDidScroll:(UIScrollView *)scrollView
{
    //scrollView已經有拖拽手勢,直接拿到scrollView的拖拽手勢
    UIPanGestureRecognizer *pan = scrollView.panGestureRecognizer;
    //獲取到拖拽的速度 >0 向下拖動 <0 向上拖動
    CGFloat velocity = [pan velocityInView:scrollView].y;
    //NSLog(@"velocity = %.f scrollView =%.f",velocity,scrollView.contentOffset.y);
    if (velocity <- 10) {
        //向上拖動,隱藏導航欄
        //self.hkNavView.backgroundColor = kRedColor;
        self.hkNavView.hidden = YES;
    }else if (velocity > 10) {
        //向下拖動,顯示導航欄
        self.hkNavView.hidden = NO;
        //self.hkNavView.backgroundColor = kBlueColor;
    }
    //CGFloat alpha =(scrollView.contentOffset.y )/(70*gScale);
    //self.hkNavView.backgroundColor = [HKHexColor(0xFF55c9c4) colorWithAlphaComponent:alpha];
}

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM