UITextView中的链接无法在Swift 4中运行

时间:2017-10-05 11:02:02

标签: ios swift swift4 uitextview nsattributedstring

我正在使用iOS 11和Swift 4。

我正在尝试以编程方式在UITextView内生成一个链接。

所有属性都有效(即颜色,大小,范围等) - 但不幸的是,链接不起作用。谁能告诉我为什么?

这是我的代码:

@IBOutlet weak var textView: UITextView!

// Setting the attributes
let linkAttributes = [
    NSAttributedStringKey.link: URL(string: "https://www.apple.com")!,
    NSAttributedStringKey.font: UIFont(name: "Helvetica", size: 18.0)!,
    NSAttributedStringKey.foregroundColor: UIColor.blue
    ] as [NSAttributedStringKey : Any]

let attributedString = NSMutableAttributedString(string: "Just click here to do stuff...")

// Set the 'click here' substring to be the link
attributedString.setAttributes(linkAttributes, range: NSMakeRange(5, 10))

self.textView.delegate = self
self.textView.attributedText = attributedString

同样,链接似乎正确,但点击它不起作用。

以下是截图:

Screenshot of the UITextView

1 个答案:

答案 0 :(得分:22)

您应该为文本视图启用isSelectable并停用isEditable

textView.isSelectable = true
textView.isEditable = false

您还可以在文本视图的属性检查器行为部分的 Interface Builder 中设置这些行为:

Interface Builder - Attributes inspector/Behavior