iOS: KILabel 没有响应触摸事件
iOS: KILabel not responding to touch events
我正在尝试使用 KILabel
子类来处理项目中的主题标签和提及之类的事情。我已经正确渲染了标签,它似乎对触摸有反应,但我无法让它成功注册一个点击处理程序。这是 viewDidLoad
中的代码:
// Attach a block to be called when the user taps a user handle
_testLabel.userHandleLinkTapHandler = ^(KILabel *label, NSString *string, NSRange range) {
NSLog(@"User tapped %@", string);
};
// Attach a block to be called when the user taps a hashtag
_testLabel.hashtagLinkTapHandler = ^(KILabel *label, NSString *string, NSRange range) {
NSLog(@"Hashtag tapped %@", string);
};
// Attach a block to be called when the user taps a URL
_testLabel.urlLinkTapHandler = ^(KILabel *label, NSString *string, NSRange range) {
NSLog(@"URL tapped %@", string);
};
这是它在界面生成器中的样子:
无论出于何种原因,它都无法识别任何触摸事件。我可以实际看到显示 link 被点击的界面,但我在事件方面一无所知。有人可以帮我从这里出去吗?我知道它可能很简单但不清楚;尽管文档不是那么广泛,但我尽量仔细阅读文档。
提前致谢,弄清楚这一点将是一件大事。
找到答案了。万一有人发现这个;如果您有适当的点击手势识别器,则与 KILabel
的交互效果不佳。如果有,则需要设置 [myGestureRecognizer setCancelsTouchesInView:NO];
。这将允许您与标签进行交互。
我正在尝试使用 KILabel
子类来处理项目中的主题标签和提及之类的事情。我已经正确渲染了标签,它似乎对触摸有反应,但我无法让它成功注册一个点击处理程序。这是 viewDidLoad
中的代码:
// Attach a block to be called when the user taps a user handle
_testLabel.userHandleLinkTapHandler = ^(KILabel *label, NSString *string, NSRange range) {
NSLog(@"User tapped %@", string);
};
// Attach a block to be called when the user taps a hashtag
_testLabel.hashtagLinkTapHandler = ^(KILabel *label, NSString *string, NSRange range) {
NSLog(@"Hashtag tapped %@", string);
};
// Attach a block to be called when the user taps a URL
_testLabel.urlLinkTapHandler = ^(KILabel *label, NSString *string, NSRange range) {
NSLog(@"URL tapped %@", string);
};
这是它在界面生成器中的样子:
无论出于何种原因,它都无法识别任何触摸事件。我可以实际看到显示 link 被点击的界面,但我在事件方面一无所知。有人可以帮我从这里出去吗?我知道它可能很简单但不清楚;尽管文档不是那么广泛,但我尽量仔细阅读文档。
提前致谢,弄清楚这一点将是一件大事。
找到答案了。万一有人发现这个;如果您有适当的点击手势识别器,则与 KILabel
的交互效果不佳。如果有,则需要设置 [myGestureRecognizer setCancelsTouchesInView:NO];
。这将允许您与标签进行交互。