中易网

UIScrollView如何判断是向右滚动还是向左滚动

答案:2  悬赏:20  
解决时间 2021-04-21 12:09
UIScrollView如何判断是向右滚动还是向左滚动
最佳答案
工作需要,需要实现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是左移了还是右移了
全部回答
有时候我们需要检测当前uiscrollview的滑动方向来做出相应的处理,可以借助uiscrollview的delegate函数来实现, 下面的例子可以检测到uiscrollview当前是向上滑动还是向下滑动: [cpp] view plaincopyprint? int _lastposition; //a variable define in headfile - (void)scrollviewdidscroll:(uiscrollview *)scrollview{ int currentpostion = scrollview.contentoffset.y; if (currentpostion - _lastposition > 25) { _lastposition = currentpostion; nslog(@"scrollup now"); } else if (_lastposition - currentpostion > 25) { _lastposition = currentpostion; nslog(@"scrolldown now"); } } 25 可以是任意数字,可根据自己的需要来设定。
我要举报
如以上问答内容为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
大家都在看
对《巴金散文》的前二十篇的旁批
西安北站到陕西中医药大学打的需要多少钱
蓝澳核桃花生牛奶多少一箱
如何申请电信营业厅
泰式鲜榨椰汁哪里有卖。。。
在网上买了一台饮水机,每次打开制冷风扇就转
生活美好的东西有哪些?越多越好
六年级数学书练习二答案
成都哪儿有生活无限的专柜或者专卖?最好是在
城市佳人内衣怎么样?我想加盟,请了解的告诉
搜狗输入法无法更换皮肤!!急!!!
沪江网校怎么拼课?不会被封号么?最多一个号
淘宝上买的此商品性质不支持7天退货 可以退款
霖影画室地址在什么地方,想过去办事
广西卫视台金牛财经何时播
推荐资讯
我的手好小啊,怎么办
c语言编程主要注意什么?
亚太跆拳道协会和香港跆拳道协会的关系是什么
关于windows XP 超级管理员问题!
眼睛一单一双好看吗
运动鞋穿42码,人本帆布鞋穿多大号?
谁有 蜀门感恩卡 谢谢
比亚盖茨能瞬间提出10个亿美元吗?
現在哪個電視劇好看
我要购买纯种蓝猫(公和母)
转区后 原有的金币还在么?
select语句如何找重复的信息
手机登qq时,显示手机磁盘不足,清理后重新登
刺客的套装怎么选啊?