检测UITableView索引触摸

时间:2017-05-12 19:51:36

标签: ios objective-c uitableview

我通过实现sectionIndexTitlesForTableView:(UITableView *)tableView创建了一个索引表视图我想要一些UI来显示用户当前选择的索引。我有UI工作,但想要在用户停止触摸屏幕时隐藏它。有没有办法检测这个触摸事件?无论我尝试什么,我似乎无法在索引视图中检测到触摸

到目前为止,我已经尝试了

覆盖视图控制器的touchesEnded方法

- (void)touchesEnded:(NSSet<UITouch *> *)touches withEvent:(nullable UIEvent *)event {
    [super touchesEnded:touches withEvent:event];
    self.indexPreviewContainer.hidden = YES;
}

将Pan手势识别器添加到视图控制器视图,窗口,表视图和表视图的子视图中。它有这个作为它的行动方法

-(void)tablePanned:(UIGestureRecognizer *)recognizer{
    if(recognizer.state == UIGestureRecognizerStateEnded){
        self.indexPreviewContainer.hidden = YES;
    }
}

扩展UITableView并覆盖touchesEnded方法。这给出了关于何时触摸表而不是指数的反馈。实现与视图控制器相同。

我猜测索引视图在调用sectionIndexTitlesForTableView:(UITableView *)tableView方法后的一段时间内才会被添加。我不确定我是如何挂钩到表视图的生命周期来测试这个

0 个答案:

没有答案