如何判断UIScrollView滑动方向

 我来答
云端科技
2016-02-22 · 互联网+技术解决方案服务商
云端科技
云端科技是一家专业从高端品牌网站建设、APP开发、软件定制开发服务的高新技术企业。为客户提供专业的电子商务技术解决方案、电子政务建设解决方案、移动互联应用开发。
向TA提问
展开全部
需要检测当前UIScrollView的滑动方向来做出相应的处理,可以借助UIScrollView的delegate函数来实现, 下面的例子可以检测到UIScrollview当前是向上滑动还是向下滑动:
-(void)scrollViewWillBeginDragging:(UIScrollView *)scrollView {
historyY = scrollView.contentOffset.y;
}

-(void)scrollViewDidScroll:(UIScrollView *)scrollView {

if (scrollView.contentOffset.y<historyY) {
NSLog(@"down");

} else if (scrollView.contentOffset.y>historyY) {
NSLog(@"up");

}
greystar_cn
2015-08-04 · 知道合伙人软件行家
greystar_cn
知道合伙人软件行家
采纳数:16407 获赞数:17260
本人主要从事.NET C#方向的技术开发工作,具有10多年的各类架构开发工作经验。

向TA提问 私信TA
展开全部
工作需要,需要实现UIScrollView左右拖动加载,

首先设置pageEnable=YES;

然后通过Delegate实现相关方法。

//将要开始拖拽,手指已经放在view上并准备拖动的那一刻

- (void)scrollViewWillBeginDragging:(UIScrollView *)scrollView{ //拖动前的起始坐标

startContentOffsetX = scrollView.contentOffset.x;

}

- (void)scrollViewWillEndDragging:(UIScrollView *)scrollView withVelocity:(CGPoint)velocity targetContentOffset:(inout CGPoint *)targetContentOffset{ //将要停止前的坐标

willEndContentOffsetX = scrollView.contentOffset.x;

}

- (void)scrollViewDidEndDecelerating:(UIScrollView *)scrollView{

endContentOffsetX = scrollView.contentOffset.x;

if (endContentOffsetX < willEndContentOffsetX && willEndContentOffsetX < startContentOffsetX) { //画面从右往左移动,前一页

} else if (endContentOffsetX > willEndContentOffsetX && willEndContentOffsetX > startContentOffsetX) {//画面从左往右移动,后一页

}

}

如上可判断ScrollView是左移了还是右移了
本回答被提问者和网友采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式