
判断UIScrollView是上拉还是下拉
展开全部
以collectionView为例
<UIScrollViewDelegate >
@property (nonatomic, assign) NSInteger lastcontentOffset; //添加此属性的作用,根据差值,判断ScrollView是上滑还是下拉
self.collectionView.delegate = self;
- (void)scrollViewDidScroll:(UIScrollView *)scrollView{
CGFloat hight = scrollView.frame.size.height;
CGFloat contentOffset = scrollView.contentOffset.y;
CGFloat distanceFromBottom = scrollView.contentSize.height - contentOffset;
CGFloat offset = contentOffset - self.lastcontentOffset;
self.lastcontentOffset = contentOffset;
if (offset > 0 && contentOffset > 0) {
NSLog(@"上拉行为");
}
if (offset < 0 && distanceFromBottom > hight) {
NSLog(@"下拉行为");
}
if (contentOffset == 0) {
NSLog(@"滑动到顶部");
}
if (distanceFromBottom < hight) {
NSLog(@"滑动到底部");
}
}
<UIScrollViewDelegate >
@property (nonatomic, assign) NSInteger lastcontentOffset; //添加此属性的作用,根据差值,判断ScrollView是上滑还是下拉
self.collectionView.delegate = self;
- (void)scrollViewDidScroll:(UIScrollView *)scrollView{
CGFloat hight = scrollView.frame.size.height;
CGFloat contentOffset = scrollView.contentOffset.y;
CGFloat distanceFromBottom = scrollView.contentSize.height - contentOffset;
CGFloat offset = contentOffset - self.lastcontentOffset;
self.lastcontentOffset = contentOffset;
if (offset > 0 && contentOffset > 0) {
NSLog(@"上拉行为");
}
if (offset < 0 && distanceFromBottom > hight) {
NSLog(@"下拉行为");
}
if (contentOffset == 0) {
NSLog(@"滑动到顶部");
}
if (distanceFromBottom < hight) {
NSLog(@"滑动到底部");
}
}
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询