在我正在编写的应用程序中,我认为最好是用户可以点击UILabel并且我可以看到他们点击了什么单词。无论如何我能做到吗?
答案 0 :(得分:2)
您可以使用 UIWebview
使用
- (void)loadHTMLString:(NSString *)string baseURL:(NSURL *)baseURL;
并编码整个消息,然后将链接包装到
[webView.loadHTMLString:@"<a href="tap:Google">Google</a>" baseURL:nil];
然后在委托方法
- (BOOL)webView:(UIWebView *)webView shouldStartLoadWithRequest:(NSURLRequest *)request navigationType:(UIWebViewNavigationType)navigationType
你会知道你用了哪个词
if ( [request.URL.scheme compare:FeverProtocolIdentifier] == NSOrderedSame )
{
NSString *word = request.URL.resourceSpecifier;
}
答案 1 :(得分:1)
我不认为这很容易。我可能会使用OHAttributedLabel而不是UILabel,并在OHAttributedLabel代码中添加一个方法来返回所需的信息。如果你查看OHAttributedLabel.m中的linkAtPoint方法,你可以看到你需要做什么。我会复制该方法,或许命名新的 characterOffsetAtPoint ,然后返回现有代码在第340行计算的索引。