触摸检测时的UITextView内部内的另一个的UITableView的细胞一个UITableView的细胞
问题描述:
我的视图层次是这样的:触摸检测时的UITextView内部内的另一个的UITableView的细胞一个UITableView的细胞
(的UITableViewController) - >的UITableView A - >(小区) - >的UITableView乙 - >(单元) - > UITextView C
表视图B不可滚动,但启用了用户交互。
文本视图C不可滚动,不可编辑,但可选。
事实上,使用情况是:
我使用表格视图中的显示用户的新闻源列表,并使用表格视图B到显示的每条新闻的评论,并使用文本视图C到显示每个评论的内容,这是一个NSAttribtuedString,因为我想让用户的名字在评论中可点击。
现在问题来了。我想让用户点击评论来做一些事情。但是,检测到轻击时总会有延迟。如果你点击得太快,就没有反应。
我试图在表视图A上设置delayContentTouches,但它不起作用。
我也知道单元格内的文本视图将禁用表视图的didSelectCellAtIndexPath委托回调。
所以,有谁能告诉我如何使文本视图C的检测点立即响应?
或者,对于我的用例,是否有更好的实现?
答
这太复杂了,但我认为你可以通过'hittest'来检查哪个视图被触摸来控制你想要的特定视图。
答
UILongPressGestureRecognizer *recognizer
= [[UILongPressGestureRecognizer alloc]
initWithTarget:self action:@selector(handleLongPress:)];
recognizer.minimumPressDuration = .5; //seconds
recognizer.delegate = self;
[self.collectionView addGestureRecognizer:recognizer];
任何机会与长按手势识别器,使它象上述什么?
你只需要在handleLongPress方法中描述你想要的东西。