关于网易滚动菜单视图的实现
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];
}
* 监听顶部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];
}
相关文章推荐
- 日历插件使用
- 算法原理
- c# 中的只读属性
- 架构设计
- Oracle 生成用户及权限复制(脚本)
- Swift - iOS应用的国际化与本地化
- iOS This certificate has an invalid issuer
- MySQL优化必须调整的10项配置
- Lp空间和L范数
- CentOS 6.7安装nginx
- iOS7上leftBarButtonItem无法实现滑动返回的完美解决方案
- 一看就懂的数据库范式介绍(1NF,2NF,3NF,BC NF,4NF,5NF)
- [FAQ11770][USB] MTK USB问题宝典
- 使用Alcatraz来管理Xcode插件
- PAT1006 数组打印的问题
- QT中将ASCII转换为对应数值的方法
- Android应用打包安装过程具体解释
- 探索Python数据分析(一):NLTK库和文本处理
- LeetCode - 207. Course Schedule
- Oracle表与索引的分析及索引重建