【问题标题】:How to hide navigationBar when scrolling collectionView in ios 11?在ios 11中滚动uicollectionView时如何隐藏导航栏?
【发布时间】:2018-01-17 18:19:58
【问题描述】:

在 iOS 11 中,如果我们设置为隐藏,则在滚动 tableView 时 searchBar 会隐藏。向上滚动collectionView时如何隐藏searchBar、navigationBar和tabBar?向下滚动时将它们全部取消隐藏?感谢您的帮助...

【问题讨论】:

    标签: ios11 smooth-scrolling collectionview searchbar


    【解决方案1】:
    1. 在 UIViewController 中继承 UIScrollViewDelegate(即class ViewController: UIViewController, UIScrollViewDelegate { codes... }
    2. 实现scrollViewDidScroll委托方法

      func scrollViewDidScroll(scrollView: UIScrollView) { 
          let pan = scrollView.panGestureRecognizer
          let velocity = pan.velocityInView(scrollView).y
          if velocity < -5 { 
              self.navigationController?.setNavigationBarHidden(true, animated: true) 
              self.navigationController?.setToolbarHidden(true, animated: true)
          } else if velocity > 5 {
              self.navigationController?.setNavigationBarHidden(false, animated: true)
              self.navigationController?.setToolbarHidden(false, animated: true)
          }
      }
      

    【讨论】:

    • 非常感谢KTang。你救了我2天。谢谢。
    • 实际上,有很多方法可以做到这一点。但我认为这是最灵活的一种,因为您可以控制 scrollView 向上或向下滚动时要做什么,而不仅仅是隐藏栏。此外,您可以调整if-case中的“-5”和“5”来自定义性能,您可以尝试看看会发生什么。
    【解决方案2】:

    将 KTang 接受的答案翻译成 Objective-C:

    - (void)scrollViewDidScroll:(UIScrollView *)scrollView
    {
        UIPanGestureRecognizer *pan = scrollView.panGestureRecognizer;
        CGFloat velocity = [pan velocityInView:scrollView].y;
    
        if (velocity < -5) {
            [self.navigationController setNavigationBarHidden:YES animated:YES];
            [self.navigationController setToolbarHidden:YES animated:YES];
        } else if (velocity > 5) {
            [self.navigationController setNavigationBarHidden:YES animated:YES];
            [self.navigationController setToolbarHidden:YES animated:YES];
        }
    }
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2017-03-03
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2019-01-07
      相关资源
      最近更新 更多