怎么把禁止scrollview的滑动停止拖动后立即停止滑动 取消其惯性

func scrollViewWillBeginDecelerating(scrollView: UIScrollView) {
sizeView.setContentOffset(CGPointMake(CGFloat(self.sizeX), 0), animated: true)
} 这个函数中设置。
阅读(...) 评论()2011年8月 移动平台大版内专家分月排行榜第二2011年7月 移动平台大版内专家分月排行榜第二2011年3月 移动平台大版内专家分月排行榜第二
2012年8月 移动平台大版内专家分月排行榜第三2012年7月 移动平台大版内专家分月排行榜第三
本帖子已过去太久远了,不再提供回复功能。取消其惯性,为什么把scrollview停止拖动后立即停止滑动_理工学科_教育科教问知网
取消其惯性,为什么把scrollview停止拖动后立即停止滑动
编辑: 教育科教问知网 &&&来源:用户发布&&&发布时间:&&&查看次数:47
有谁知道取消其惯性,为什么把scrollview停止拖动后立即停止滑动,谢啦。
【探讨解答】
怎么把scrollview停止拖动后立即停止滑动取消其惯性
-(void)scrollViewWillBeginDecelerating: (UIScrollView *)scrollView{ [scrollView setContentOffset:scrollView.contentOffset animated:NO]; } 找到这个方法
listview和scrollview怎么实现惯性滑动
第一步实现了水平滑动,往往我们会把这个水平ListView放到ScrollView里面,而这两个控件恰好滑动会有冲突,滑动水平ListView时会有卡顿,因此重写ScrollView,以达到流畅滑动: package com.liucanwen.horizontallistview. import android....
怎么把scrollview停止拖动后立即停止滑动取消其惯性
重写scrollview 例如MyScrollView extends ListView 然后重写里面的方法 @Override protected void onScrollChanged(int l, int t, int oldl, int oldt) { super.onScrollChanged(l, t, oldl, oldt); } 这里获取到的第1个参数我想就是你需要的 ...
iOS怎么让scrollview不通过手指滑动,通过其他点击...
在其他点击事件设置该scrollView的contentOffset.
理工学科相关
更多相关内容
本站内容来自网友发布,本站无法保证其部分内容的正确性,请用户一定仔细辨别。
[] &&[联系QQ:885&971&98] &
黑ICP备号&UIScrollView代理执行顺序 - 简书
UIScrollView代理执行顺序
1.手动拖拽scrollView,并且没有加速度时(手指放开后就立即停止滑动)
没有加速度时的控制台打印信息
先执行scrollViewWillBeginDragging:,将要开始拖拽
然后执行n个scrollViewDidScroll,只要是scrollView的contentOffset发生改变就会执行,无论是通过手动拖拽还是代码改变了contentOffset
接着执行scrollViewWillEndDragging:withVelocity:targetContentOffset:,即将结束拖拽,其中velocity为减速滑动前的初速度,而此时velocity为CGZero,说明不会减速滑动,手指停止拖拽时就会立即停止,targetContentOffset为最终停止时的位置
最后执行scrollViewDidEndDragging:willDecelerate:,拖拽结束,因为没有减速滑动,所以此时也是scrollView最终停止位置
2.手动拖拽scrollView,并且有加速度时(手指放开后,还会减速滑动一段距离)
有加速度时控制打印的信息01
有加速度时控制打印的信息02
和第一种无加速度的拖拽类似,都是先执行scrollViewWillBeginDragging:(将要开始托追),再跟随手指拖拽执行了一定次数的scrollViewDidScroll:,然后是即将停止拖拽scrollViewWillEndDragging:withVelocity:targetContentOffset:和停止拖拽scrollViewDidEndDragging:willDecelerate:
不同点在于,在执行scrollViewWillEndDragging:withVelocity:targetContentOffset:时,当前情况下的velocity不是CGZero,说明他有减速运动前的初速度,会进行一段减速滑动
紧接着拖拽结束,执行scrollViewWillBeginDecelerating:,即将减速滑动,然后伴随着减速滑动执行多次scrollViewDidScroll:,减速滑动停止时执行scrollViewDidEndDecelerating:,此时为当前情况下scrollView最终停止位置
3.代码控制scrollView滑动
- (void)buttonClick {
[self.scrollView setContentOffset:CGPointMake(500, 0)];
代码改变scrollView的contentOffset且无动画时的控制台打印
以上面的代码为例,点击button改变scrollView的contentOffset,且无动画效果;可以看出仅仅执行了一次scrollViewDidScroll:
- (void)buttonClick {
[self.scrollView setContentOffset:CGPointMake(500, 0) animated:YES];
代码改变scrollView的contentOffset且有动画时的控制台打印
由上图可以看出,同样用代码设置相同的contentOffset,animated为YES时,执行了多次scrollViewDidScroll:,并且在滚动动画结束时执行了scrollViewDidEndScrollingAnimation:
补充:在scrollView(及其子类)执行以下方法时,如果animate为YES,在动画结束时会调用scrollViewDidEndScrollingAnimation:
UIScrollView的setContentOffset:animated:
UIScrollView的scrollRectToVisible:animated:
UITableView的scrollToRowAtIndexPath:atScrollPosition:animated:
UITableView的selectRowAtIndexPath:animated:scrollPosition:
一枚正在努力学习的渣渣猿问题对人有帮助,内容完整,我也想知道答案
问题没有实际价值,缺少关键内容,没有改进余地
如题。我一个页面中放置了一个scrollView和一个tableView,然后scrollView中有pageControl控制小圆点。水平拖动的时候,触发scrollViewDidScroll,小圆点能正常响应。但是我在拖动tableView的时候,发现也会响应scrollViewDidScroll事件,导致小圆点的位置改变了,请问下是否scrollView是否有方法让只能响应水平方向的拖动事件而不响应垂直方向的?
答案对人有帮助,有参考价值
答案没帮助,是错误的答案,答非所问
tableview继承scrollview,滑动时会调用scrollview代理方法,我会用tag来判断是否是tableview在调用api,如果是,那么return。
同步到新浪微博
分享到微博?
Hi,欢迎来到 SegmentFault 技术社区!⊙▽⊙ 在这里,你可以提出编程相关的疑惑,关注感兴趣的问题,对认可的回答投赞同票;大家会帮你解决编程的问题,和你探讨技术更新,为你的回答投上赞同票。
明天提醒我
关闭理由:
删除理由:
忽略理由:
推广(招聘、广告、SEO 等)方面的内容
与已有问题重复(请编辑该提问指向已有相同问题)
答非所问,不符合答题要求
宜作评论而非答案
带有人身攻击、辱骂、仇恨等违反条款的内容
无法获得确切结果的问题
非开发直接相关的问题
非技术提问的讨论型问题
其他原因(请补充说明)
我要该,理由是:

我要回帖

更多关于 scrollview停止滑动 的文章

 

随机推荐