联动效果及一些疑问

联动是一个专业术语,点击按钮切换视图,滑动视图切换按钮,是一个特定的应用场景

实现起来分两个过程来做:

1.点击按钮切换视图

scrollview上内容的滚动,就是控制scrollview的偏移量

在按钮点击方法中:先获取按钮的位置索引,然后设置scrollview的偏移量属性,两步搞定

NSUInteger  index = [self.titlesViews.subviews indexOfObject:titleButton];

self.scrollview.contentOffset = CGPointMake(index * self.scrollview.TS_width, self.scrollview.contentoffset.y);

2.切换视图来切换按钮

先实现代理,在scrollViewDIdEndDecelerating方法中三步

偏移量除以宽度获取到按钮位置索引,根据索引获取按钮,调用点击方法

共同点是都要获取位置按钮的位置索引,都是在用一个公式index * self.scrollview.TS_width

但是有没有一些疑问呢,这两个方法会不会造成循环调用?

scrollViewDIdEndDecelerating中调用了点击方法,点击方法中又实现了代码偏移,当视图偏移静止后,又会调用scrollViewDIdEndDecelerating方法?

测试后证明是不会的,因为scrollview代理方法的触发事件是手动的滑动,通过代码让其滑动不会形成事件,记住不会,放心使用

©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容