1、设置UIScrollView滚动的时候只往一个方向:
#pragma mark ScrollViewDelegate -(void)scrollViewWillBeginDragging:(UIScrollView *)scrollView { // NSLog(@"%@", NSStringFromSelector(_cmd)); [scrollView setDirectionalLockEnabled:YES]; }
2、当要确定当前page时碰到一个错误,如果实现UIViewDelegate 的scrollViewDidScroll方法,在手势右滑通过UINavigationController返回上一级View时会崩溃,不实现这个委托方法就没事,后来Google到需要在dealloc方法中设定UISCrollview的delegate为nil。
-(void)dealloc { self.scrollView.delegate = nil; }
3、获得当前页面
-(void)scrollViewDidScroll:(UIScrollView *)scrollView { _currentPage = floor((self.scrollView.contentOffset.x + self.scrollView.frame.size.width / 2) / self.scrollView.frame.size.width) + 1; }