2016-05-18 7 views
0

私は、UITextViewのコンテンツの一部をクリック可能にしようとしています。ここに私のコードです:NSAttributedStringでタップ可能なリンクを作成する方法

class ViewController: UIViewController,UITextViewDelegate { 


@IBOutlet weak var definition:UITextView! 

override func viewDidLoad() { 
    super.viewDidLoad() 
    // Do any additional setup after loading the view, typically from a nib. 

    //self.loadHTML() 
    self.makeList() 
} 

func makeList(){ 

    definition.delegate = self 

    let attributedString = NSMutableAttributedString(string: "Want to learn iOS? You should visit the best source of free iOS tutorials!") 
    attributedString.addAttribute(NSLinkAttributeName, value: "https://www.hackingwithswift.com", range: NSRange(location: 0, length: 5)) 
    definition.attributedText = attributedString 
} 



func textView(textView: UITextView, shouldInteractWithURL URL: NSURL, inRange characterRange: NSRange) -> Bool { 
    UIApplication.sharedApplication().openURL(URL) 
    return true 
} 
} 

これはどのように動作していません。私が逃していることを助けてくれますか?

+0

'textView(textView:shouldInteractWithURL:inRange)'のドキュメントから:テキストビューのリンクは、テキストビューが選択可能ですが編集不可能な場合にのみ対話的です。つまり、UITextViewのselectableプロパティの値がYESで、 isEditableプロパティはNOです。 – Larme

答えて

5
definition.editable = false; 
    definition.delegate = self; 

希望はあなたを助けることができます。

+0

ありがとう@エリック!できます。 – TechBee

+0

editableはfalseである必要があります。どのくらいの無駄な1時間! – okysabeni

+0

編集可能ですisEditable –

関連する問題