gpt4 book ai didi

objective-c - 检测 UITableView 滚动

转载 作者:IT老高 更新时间:2023-10-28 11:30:49 24 4
gpt4 key购买 nike

我将 UITableView(作为 KRTableView)子类化并实现了四个基于触摸的方法(touchesBegan、touchesEnded、touchesMoved 和 touchesCancelled),以便我可以检测何时在 UITableView 上处理基于触摸的事件。基本上我需要检测的是 UITableView 何时向上或向下滚动。

但是,子类化 UITableView 并创建上述方法只检测 UITableViewCell 内发生滚动或手指移动的时间,而不是整个 UITableView。

只要我的手指移到下一个单元格上,触摸事件就不会做任何事情。

这就是我继承 UITableView 的方式:

#import "KRTableView.h"


@implementation KRTableView

- (void)touchesBegan:(NSSet *)touches withEvent:(UIEvent *)event {
[super touchesBegan:touches withEvent:event];
NSLog(@"touches began...");
}

- (void)touchesMoved:(NSSet *)touches withEvent:(UIEvent *)event {
[super touchesMoved:touches withEvent:event];
NSLog(@"touchesMoved occured");
}

- (void)touchesCancelled:(NSSet*)touches withEvent:(UIEvent *)event {
[super touchesCancelled:touches withEvent:event];
NSLog(@"touchesCancelled occured");
}

- (void)touchesEnded:(NSSet *)touches withEvent:(UIEvent *)event {
[super touchesEnded:touches withEvent:event];
NSLog(@"A tap was detected on KRTableView");
}

@end

如何检测 UITableView 何时向上或向下滚动?

最佳答案

您不需要拦截事件方法。检查 UIScrollViewDelegate 协议(protocol)的文档,并根据您的情况实现 -scrollViewDidScroll:-scrollViewWillBeginDragging: 方法。

关于objective-c - 检测 UITableView 滚动,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1587855/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com