【发布时间】:2012-11-27 10:04:19
【问题描述】:
我有一个 Tableview 并且 tableview 单元格被定制为有一个 UILabel。 UILabel 中的文本具有 URL。有没有办法检测 url,例如 UITextView 如何启用检测 URL,以便用户交互应该能够加载 url。
【问题讨论】:
标签: ios ipad uitableview uilabel
我有一个 Tableview 并且 tableview 单元格被定制为有一个 UILabel。 UILabel 中的文本具有 URL。有没有办法检测 url,例如 UITextView 如何启用检测 URL,以便用户交互应该能够加载 url。
【问题讨论】:
标签: ios ipad uitableview uilabel
如果您只想识别 URL,可以使用 NSDataDetector 和 NSTextCheckingTypeLink 检查类型。
如果您想以不同的方式绘制 URL,并且您的目标是 iOS 6,您可以使用 NSAttributedString 将 URL 变为蓝色或为它们加下划线或其他方式。如果您的目标是较旧版本的 iOS,您可能希望在 Internet 上寻找一些免费代码来绘制样式文本,例如 OHAttributedLabel。
如果你想让 URL 真正具有触感,你可以在标签上添加一个点击手势识别器,并尝试找出字符串的哪一部分被点击(有点复杂),或者在已经为您完成此操作的 Internet(例如 OHAttributedLabel),或者只是在表格视图单元格中放置 UITextView 而不是标签。
【讨论】:
正如 Rob 指出的那样,我们如何才能做到这一点太棒了。
但是,我们可以使用机智,因此可以保存 ios 版本的问题(可能),只需使用 UILabel 和 UIButton。
我们需要做的是,无论是从 IB 还是故事板,只要放置一个 UILabel 字符串作为 URL(使用这个作为标题),比如说;
“www.myURL.com”
现在,在其上方放置一个 UIButton(自定义类型的按钮),然后使用“______”(下划线)并将此按钮设置为与您的 UILabel 重叠,并且“下划线”必须位于您的标签下方。
现在,只需在单击 URL 时根据需要执行按钮操作,您还可以在此处更改 textColor 等属性;还加载 URL 并导航到 UIWebView。
【讨论】: