導航欄顏色漸變或者設置隱藏
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]; }