iOS

Swift4:UITextViewにリンクを設定

UITextViewの選択されたテキストにURLリンクを設定できるようにしました。

この実装でひとつだけ注意するべきことがありました。次のエラーが出てしまうのです。

@IBOutlet weak var yUserNote:UITextView!
@IBOutlet weak var yLink:UITextField!

yUserNote.linkTextAttributes    = [NSAttributedStringKey.foregroundColor.rawValue:  colorLiteral(red: 1, green: 0.2527923882, blue: 1, alpha: 1)]

Cannot assign value of type ‘[NSAttributedStringKey : UIColor]’ to type ‘[String : Any]!’

これはSwift4.0からのようです。
参考:Swift 4.0でNSAttributedStringの装飾属性Dictionaryがエラーになる件

結局、次のようにしたらこの文法エラーは消えました。

yUserNote.linkTextAttributes    = [NSAttributedStringKey.foregroundColor.rawValue:  colorLiteral(red: 1, green: 0.2527923882, blue: 1, alpha: 1)] as [String:Any]

Screenshot 2018-05-18 11.20.48

 

 

Categories: iOS, Swift, 技術