繁体   English   中英

如何确定正在滚动UITableView的触摸次数

[英]How to determine number of touches that are scrolling UITableView

我正在尝试确定- (void)scrollViewDidEndDragging:(UIScrollView *)scrollView被调用并相应执行一些任务时,UITableView上的手指触摸次数。

到目前为止,我尝试了两种方法:

  1. 继承UITableView的子类以覆盖touchesBegan:withEvent: -这种方法的问题在于,仅当屏幕上有“某些”轻touchesBegan:withEvent:时才触发此方法,而不是当用户只是不滚动手指而快速滚动时才触发此方法。
  2. 使用uipangesturerecognizer检测触摸次数。 -我以以下方式使用它:

UIPanGestureRecognizer *taps = [[UIPanGestureRecognizer alloc] initWithTarget:self action:@selector(handleTap:)];
taps.maximumNumberOfTouches=4;
taps.minimumNumberOfTouches=1;
[self.tableView addGestureRecognizer:taps];

接着

-(void)handleTap:(UITapGestureRecognizer *)sender{
    if (sender.state == UIGestureRecognizerStateBegan) {
        NSLog(@"BEGAN - %d",sender.numberOfTouches);
    }
}

尽管我可以用这种方法获得触摸次数,但是问题是它覆盖了实际的滚动(没有发生正常的滚动)。

请指出我做错了什么或应该做什么。 谢谢!

UIGestureRecognizer的-(NSUInteger)numberOfTouches方法可以告诉您对其进行了多少次触摸。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM