2017-10-03 10 views
3

こんにちは私は今この問題を抱えています。私はすでにいくつかの記事を読んでいますが、インターネットで送信できるクリック可能な方法を理解できません。ここに私のコードは次のとおりです。ここでUITextViewにクリック可能なURLリンクを与える

func transformText(text: String, underlined: Bool, linkURL: String) -> NSAttributedString { 
    let textRange = NSMakeRange(0, text.characters.count) 
    let attributedText = NSMutableAttributedString(string: text) 
    if underlined{ 
     attributedText.addAttribute(NSUnderlineStyleAttributeName , value: NSUnderlineStyle.styleSingle.rawValue, range: textRange) 
     attributedText.addAttribute(NSUnderlineColorAttributeName , value: UIColor.lightGray, range: textRange) 
    } 
    attributedText.addAttribute(NSFontAttributeName , value: UIFont(name: "Helvetica-Light", size: 17)!, range: textRange) 
    attributedText.addAttribute(NSForegroundColorAttributeName , value: UIColor.lightGray, range: textRange) 
    if(linkURL != "") 
    { 
     let attrib = [NSLinkAttributeName: NSURL(string: linkURL)!] 
     attributedText.addAttributes(attrib, range: textRange) 
    } 
    return attributedText 
} 

は、私はそれを呼び出す方法です:

TextContent.attributedText = transformText(text: self.TelBox.TextContent.text, underlined: true, linkURL: "https://www.google.fr")` 

事前

+1

なぜUITextFieldですか?それは編集のためのもので、選択するものではありません。 – Larme

+0

UITextViewをごめんなさい申し訳ありません。 – BigBurger

+0

https://developer.apple.com/documentation/uikit/uitextviewdelegate/1649337-textview?language=swiftデリゲートを設定し、実装して、ドキュメントを読んでください。あなたのtextViewのプロパティをいくつかの値に設定します。 – Larme

答えて

0

のおかげであなたがクリック可能にするためにUITextViewを作りたいれる事実はUITextView非を作成する必要がありますテキストをクリックすると昼食のキーボードになるので編集可能です。これを防ぐために、あなたは

textView.isEditable = falseを

はそれが役に立てば幸い使用することができます。

+0

私はこれを追加しましたが、テキストはまだクリック可能ではありません..私はNSLinkAttributeNameを強調表示されたテキストを追加したが、それ以上の何かにつながることはありません。 – BigBurger

0

データタイプの検出も有効にしていることを確認してください。ハイパーリンクについて:

theTextView.dataDetectorTypes = [.link] 
2

は、ストーリーボード上UITextViewを選択し、「表示属性インスペクタ」に行き、その後の行動 "選択解除「編集可能」にし、「データ検出」で「リンク」を選択します。次に、「ソーホーアイデンティティインスペクター」に行き、「特性」で「リンク」と「選択」を選択します。

+0

ありがとうございますが、私のコードはすべてプログラムで実行されていますが、プラスのリンクを選択したいのですが、それをprotcocol – BigBurger

関連する問題