iOS开发--UISCrollView上滑隐藏导航栏,下滑显示导航栏

简介

有时候,为了方便阅读,我们会将UINavigationBar隐藏.出现场景最多的,是配合UIScrollview的使用(UITableView和UICollectionView同样适用).

上代码

- (void)scrollViewWillEndDragging:(UIScrollView *)scrollView withVelocity:(CGPoint)velocity targetContentOffset:(inout CGPoint *)targetContentOffset {
    [self.navigationController setNavigationBarHidden:velocity.y>0 animated:YES];
}

注:

  1. 需要UIScrollview控件设置代理,并且遵循UIScrollviewDelegate
  2. _webView.scrollView.delegate = self; 既然设置了代理,那么记住,在dealloc中一定,一定,一定要将代理置空_webView.scrollView.delegate = nil,不然会崩溃,更坑爹的是,这个崩溃,是无法用全局断点找到的,控制台会输出如下崩溃信息.

崩溃信息如下:

malloc: *** error for object 0x189af580: pointer being freed was not allocated
*** set a breakpoint in malloc_error_break to debug`

你可能感兴趣的:(iOS开发)