web-dev-qa-db-ja.com

Swift 4でUITextViewのリンクが機能しない

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

8
iKK

テキストビューでisSelectableを有効にし、isEditableを無効にする必要があります。

textView.isSelectable = true
textView.isEditable = false

Interface Builder内のBehaviorセクション内でこれらの動作を設定することもできますテキストビューの属性インスペクタ

Interface Builder - Attributes inspector/Behavior

28
Tamás Sengel