如何在UILabel中点击该单词

时间:2012-04-18 02:24:02

标签: ios

在我正在编写的应用程序中,我认为最好是用户可以点击UILabel并且我可以看到他们点击了什么单词。无论如何我能做到吗?

2 个答案:

答案 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行计算的索引。