您的位置:首页 > 其它

关于网易滚动菜单视图的实现

2016-03-16 14:34 316 查看
/**
* 监听顶部label点击
*/
- (void)labelClick:(UITapGestureRecognizer *)tap
{
// 取出被点击label的索引
NSInteger index = tap.view.tag;

// 让底部的内容scrollView滚动到对应位置
CGPoint offset = self.contentScrollView.contentOffset;
offset.x = index * self.contentScrollView.frame.size.width;
[self.contentScrollView setContentOffset:offset animated:YES];
}
当用户触发顶部按钮或者Label的时候,手动控制ScrollView的偏移量。此时会调用

scrollViewDidEndScrollingAnimation方法,不会调用scrollViewDidEndDecelerating方法。

/**
* scrollView结束了滚动动画以后就会调用这个方法
(比如- (void)setContentOffset:(CGPoint)contentOffset animated:(BOOL)animated;方法执行的动画完毕后)
*/
- (void)scrollViewDidEndScrollingAnimation:(UIScrollView *)scrollView

滑动页面视图,会调用scrollViewDidEndDecelerating代理方法,但是停止的时候不会调用

scrollViewDidEndScrollingAnimation。此时需要手动调用该代理方法。

/**
* 手指松开scrollView后,scrollView停止减速完毕就会调用这个
*/
- (void)scrollViewDidEndDecelerating:(UIScrollView *)scrollView
{
[self scrollViewDidEndScrollingAnimation:scrollView];
}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: