检测UILabel中的网址

时间:2012-11-27 10:04:19

标签: ios ipad uitableview uilabel

我有一个Tableview和tableview单元格被定制为​​具有UILabel。 UILabel中的文字有URL。有没有办法检测网址,比如UITextView如何启用检测网址,以便用户交互应该能够加载网址。

2 个答案:

答案 0 :(得分:5)

如果您只想识别网址,可以将NSDataDetectorNSTextCheckingTypeLink检查类型结合使用。

如果您想以不同方式绘制网址,并且您的目标是iOS 6,则可以使用NSAttributedString将网址设置为蓝色或为其加下划线或其他内容。如果您的目标是旧版iOS,则可能需要在互联网上查找一些免费代码来绘制样式文字,例如OHAttributedLabel

如果你想让网址实际上是触摸敏感的,你可以在标签上添加一个点击手势识别器,并尝试弄清楚该字符串的哪个部分被点击(有点复杂),或者寻找一些免费的代码。已经为您完成的互联网(如OHAttributedLabel),或只是在表格视图单元格中放置UITextView而不是标签。

答案 1 :(得分:-4)

正如罗布指出我们如何才能达到同样的目标是非常棒的。

但是,我们可以使用一个机智,因此只需使用UILabel和UIButton就可以保存ios版本(可能)。

我们需要做的是,无论是从IB还是故事板,只需将带有字符串的UILabel作为URL(使用此作为标题),比如说;

“www.myURL.com”

现在,在它上方,放置一个UIButton(具有自定义类型的按钮),只需使用“______”(下划线)并将此按钮设置为与UILabel重叠,并且“下划线”必须位于标签下方。

现在,只需点击URL,您就可以根据需要执行按钮操作,此处还可以更改textColor等属性;还加载URL并导航到UIWebView。