如何在标签/ textview中为动态字符串创建可点击链接

时间:2017-02-23 07:43:40

标签: html ios swift textview label

我一直在网上浏览这个问题。通过使用字符位置,静态字符串和相应的链接有很多代码帮助。 像这样的东西,

NSURL *URL = [NSURL URLWithString: @"whatsapp://app"];
NSMutableAttributedString * str = [[NSMutableAttributedString alloc] initWithString:@"start Whatsapp"];
[str addAttribute: NSLinkAttributeName value:URL range: NSMakeRange(0, str.length)];
yourTextField.attributedText = str;

但是我从WebAPI响应中获取了我的HTML字符串。所以我可能不知道可点击字符串的位置。请检查以下HTML字符串。这些字符串可能是任何取决于特定条件的字符串。我无法预测字符串中链接的位置。

<p>You may be required to submit the Withholding Reconciliation Tax Return <a href=\"https://www.xxx.gov/yyy/0/10600/10619_f.pdf\" target=\"_blank\"><i class=\"fa fa-1x fa-external-link\"></i>Form A1-R</a> with the 1099 filing to Arizona.</p>

Delaware's Reconciliation is Form YY for <a href=\"http://XX.YY.gov/services/WH_AnnualRec_16.pdf\" target=\"_blank\"><i class=\"fa fa-1x fa-external-link\"></i>monthly,quarterly</a> and <a href=\"http://XX.YY.gov/services/WH_8thMonthlyAnnualRec_16.pdf\" target=\"_blank\"><i class=\"fa fa-1x fa-external-link\"></i>8th-monthly</a> filers. Form ZZ is only required when paper filing.

我的要求是将HTML字符串加载到标签/文本视图或建议的任何地方。顺便说一句,如果有一个&lt;&#;; href =&#34;&#34;&gt;标签,它必须是一个可点击的链接。 Pl建议。

1 个答案:

答案 0 :(得分:0)

你可以试试这个:

class MyClass: UITextViewDelegate {
 @IBoutet weak var aTextView: UITextView!

  override func viewDidLoad() {
            super.viewDidLoad()
            aTextView.delegate = self 
    }

   // Delegate
   func textView(textView: UITextView, shouldInteractWithURL URL: NSURL, inRange characterRange: NSRange) -> Bool {

            // User click on a link in a textview
            print("Link Selected!")

           // True => User can click on the URL Ling (otherwise return false)
            return true
   }