在我正在编写的应用程序中,我认为如果用户可以点击 UILabel 并且我可以看到他们点击了哪个词,那将是最好的。无论如何我可以做到这一点吗?
问问题
958 次
2 回答
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;
}
于 2012-04-18T03:15:37.333 回答
1
我不认为这很容易。我可能会使用OHAttributedLabel而不是 UILabel 并向 OHAttributedLabel 代码添加一个方法来返回您需要的信息。如果您查看 OHAttributedLabel.m 中的 linkAtPoint 方法,您会看到您需要做什么。我会复制该方法,也许将新的命名为characterOffsetAtPoint,然后返回现有代码在第 340 行计算的索引。
于 2012-04-18T02:55:55.917 回答