在swift 4中将标签文本内的URL显示为具有可点击效果的超文本

时间:2018-06-28 10:29:19

标签: ios swift

我在tableview单元格内有一个标签,我需要将标签文本内的url显示为带有蓝色和下划线的超文本。点击后,该链接应重定向到特定网页,这表示默认的操作系统浏览器。

2 个答案:

答案 0 :(得分:1)

您应该使用诸如著名的TTTAttributedLabel之类的库。 基本上,您在情节提要中添加标签,将其自定义类设置为TTTAttributedLabel,然后为其创建一个IBOutlet。然后,使用一些代码将操作添加到文本的某些部分。在Swift中,这可能是这种代码:

let name = "tomo"
let string = "My name is \(name)"
label.text = string
let nsString = string as NSString
let range = nsString.rangeOfString(name)
let url = NSURL(string: "http://www.urlToRedirect.com")!
label.addLinkToURL(url, withRange: range)

代码取自this answer

如果您想自动检测字符串中的链接,该库也可以做到:Links and Data Detection

希望这会有所帮助:)

答案 1 :(得分:0)

您可以根据需要通过诸如自定义UILabel之类的黑客操作来实现,然后向其中添加UITapGestureRecognizer