iOS上滑隐藏navigationBar

参考原文链接

iOS上滑隐藏navigationBar_第1张图片
上滑隐藏navigationBar

在需要上滑隐藏的tableView或者scrollView中,实现scrollViewWillEndDragging方法:

首先在控制器中设一个保存上一个偏移量的属性:

TestTableViewController:

fileprivate var tempY: CGFloat = -64
    override func scrollViewWillEndDragging(_ scrollView: UIScrollView, withVelocity velocity: CGPoint, targetContentOffset: UnsafeMutablePointer) {
        if velocity.y > 0 || scrollView.contentOffset.y > self.tempY {
            self.navigationController?.setNavigationBarHidden(true, animated: true)
        } else {
            self.navigationController?.setNavigationBarHidden(false, animated: true)
        }
        self.tempY = scrollView.contentOffset.y
    }

你可能感兴趣的:(iOS上滑隐藏navigationBar)