问题:在NIAttributedLabel
中使用UITableViewCell
使用操作(点击,导航)
问题是,如果我触摸链接上的标签,它实际上不会显示链接,而是执行点按操作。
但是,如果我以相同的方式在UIButton
中添加UITableViewCell
,则不会发生操作,并且当我触摸按钮时按钮响应。
所以我想这是标签的问题。
我该如何解决?
我终于弄明白了;
将功能添加到文件NIAttributedLabel.m
-(UIView *)hitTest:(CGPoint)point withEvent:(UIEvent *)event {
// never return self. always return the result of [super hitTest..].
// this takes userInteraction state, enabled, alpha values etc. into account
UIView *hitResult = [super hitTest:point withEvent:event];
// don't check for links if the event was handled by one of the subviews
if (hitResult != self) {
return hitResult;
}
if (self.explicitLinkLocations || self.detectedlinkLocations) {
BOOL didHitLink = ([self linkAtPoint:point] != nil);
if (!didHitLink) {
// not catch the touch if it didn't hit a link
return nil;
}
}
return hitResult;
}
删除所有touchXXX中的所有[超级触控XXXX]功能;
然后,它有效!