我有UITableView
一堆单元格,我为每个单元格添加UILabel
。我希望UILabel
在点击时接受触摸,而不是单元格。显然,如果他们点击标签之外并仍然在细胞上,但如果它在标签上,则细胞不应引起任何刺激或动作或其他任何东西,只有标签的动作应该是火。
我的常规方法是将UIView
' userInteractionEnabled
设置为YES
,但在这种情况下,当我在标签上设置它时,它不会{39} ; t会导致任何不同的事情发生。当我在标签子类中查看touchesBegan
时,这些方法会触发,但单元格选择也是如此。
如何让UILabel
没有通过细胞接触?
答案 0 :(得分:2)
我建议在标签中添加UITapGestureRecognizer
并将cancelsTouchesInView
属性设置为YES,以防止在手势识别时将触摸传递到视图,例如:
UITapGestureRecognizer *labelTapGesture = [[UITapGestureRecognizer alloc] initWithTarget:self action:nil];
labelTapGesture.cancelsTouchesInView = YES;
[label addGestureRecognizer:labelTapGesture];
label.userInteractionEnabled = YES;
由于您不希望手势执行操作,因此您可以将其操作设置为nil。