我通过实现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
方法后的一段时间内才会被添加。我不确定我是如何挂钩到表视图的生命周期来测试这个