B2F*_*2Fq 5 xcode hyperlink uitextview swift
我有一个TextView。
我怎样才能使两个链接都可以工作并且您可以编辑TextView?
我该如何做,以便当我发布到TextView的链接时,可以单击它并翻阅它(并用其他颜色突出显示它)。
我试图在设置中包括“链接”,但无法编辑TextView。
为了能够检测来自您的链接,textView您需要设置editable为false。您可以做的就是向 textView 添加手势识别器来检测点击,并且该手势识别器将忽略链接上的点击。下面的例子(阅读评论以获取解释):
class ViewController: UIViewController, UITextViewDelegate {\n // create an outlet for your textView\n @IBOutlet weak var textView: UITextView!\n\n override func viewDidLoad() {\n super.viewDidLoad()\n textView.delegate = self\n\n // add a tap gesture to your textView\n let tap = UITapGestureRecognizer(target: self, action: #selector(textViewTapped))\n textView.addGestureRecognizer(tap)\n\n //add a tap recognizer to stop editing when you tap outside your textView (if you want to)\n let viewTap = UITapGestureRecognizer(target: self, action: #selector(viewTapped))\n self.view.addGestureRecognizer(viewTap)\n }\n\n @objc func viewTapped(_ aRecognizer: UITapGestureRecognizer) {\n self.view.endEditing(true)\n }\n\n // when you tap on your textView you set the property isEditable to true and you\xc2\xb4ll be able to edit the text. If you click on a link you\xc2\xb4ll browse to that link instead\n @objc func textViewTapped(_ aRecognizer: UITapGestureRecognizer) {\n textView.dataDetectorTypes = []\n textView.isEditable = true\n textView.becomeFirstResponder()\n }\n\n // this delegate method restes the isEditable property when your done editing\n func textViewDidEndEditing(_ textView: UITextView) {\n textView.isEditable = false\n textView.dataDetectorTypes = .all\n }\n}\nRun Code Online (Sandbox Code Playgroud)\n\n\n\n这是我创建的示例项目的链接。
\n| 归档时间: |
|
| 查看次数: |
489 次 |
| 最近记录: |