问题
I'm using iOS 11 and Swift 4.
I am trying to programmatically generate a link inside a UITextView
.
All the attributes work (i.e. color, size, range etc.) - but unfortunately, the link does not work. Can anybody tell me why?
Here is my code:
@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
Again, the link seems correct, but clicking it does not work.
Here is the screenshot:
回答1:
You should enable isSelectable
and disable isEditable
for your text view.
textView.isSelectable = true
textView.isEditable = false
You can also set up these behaviors inside Interface Builder in the Behavior section of the text view's Attributes inspector:
来源:https://stackoverflow.com/questions/46584071/link-in-uitextview-not-working-in-swift-4