iOS可点击的单词(UILabel或UIbutton的)

我想在我的应用程序中创build一个只读文本区域,允许用户点击任何单词,应用程序读取它。 然而,我有点困惑哪种方法是最好的。 我看到两个选项,使用UILabel,并创build一些方法来检测点击区域,然后将其匹配到该地区的单词,但这听起来很难实现。 另一方面,我可以使用一组单词来创buildUIbutton的列表。 任何意见和/或示例代码来帮助我将非常感激,谢谢贾森。

注意:每个视图上有大约30个字。

下面的解决scheme很好。 对于其他人想要使用这个,这四行将设置您的UIWebView有一个清晰的背景,并禁用任何滚动或反弹。

[[myWebView.subviews objectAtIndex:0] setScrollEnabled:NO]; [[myWebView.subviews objectAtIndex:0] setBounces:NO]; [myWebView setBackgroundColor:[UIColor clearColor]]; [myWebView setOpaque:NO]; 

还有一些方便的CSS来阻止当用户按下并保持链接时打开的popup窗口。

 *{-webkit-touch-callout:none; -webkit-user-select: none;} 

你的文本区域有多大? 如果它很大,那么为每个工作创build一个UIButton听起来像是有点让文本正确布局。

我会使用一个UIWebView – 使每个单词像这样:

 <a href="wordpress://WORD1">WORD1</a> <a href="wordpress://WORD2">WORD2</a> <a href="wordpress://WORD3">WORD3</a> 

并将您的视图控制器作为webView的UIWebViewDelegate delegate

然后,你可以使用webView:shouldStartLoadWithRequest:navigationType:拦截每个单词的按下webView:shouldStartLoadWithRequest:navigationType:委托方法:)