如何在uitextview中快速创建可点击文本

时间:2018-09-05 08:03:53

标签: ios xcode swift4

我想在点击这些文本时创建可点击的文本,然后执行一些操作,例如调用任何函数对该文本进行某些操作,我会在不是整个uitextview上的任何文本上进行抓捕

4 个答案:

答案 0 :(得分:0)

如果我正确理解了您的问题,则需要单击文本视图并调用一个函数。您可以使用UITapGestureRecognizer。

@IBOutlet weak var textView: UITextView!
    override func viewDidLoad() {
        super.viewDidLoad()
        textView.isUserInteractionEnabled = true
        let tapGestureRecognizer = UITapGestureRecognizer(target: self, action: #selector(labelTapped))
        textView.addGestureRecognizer(tapGestureRecognizer)

    }

    @objc func labelTapped(){
        print("Do something")
    }

答案 1 :(得分:0)

尝试一下-

override func viewDidLoad() {
    super.viewDidLoad()

    // You must set the formatting of the link manually
    let linkAttributes: [NSAttributedStringKey: Any] = [
        .link: NSURL(string: "https://www.apple.com")!,
        .foregroundColor: UIColor.blue
    ]

    let attributedString = NSMutableAttributedString(string: "Just click here to register")

    // Set the 'click here' substring to be the link
    attributedString.setAttributes(linkAttributes, range: NSMakeRange(5, 10))

    self.textView.delegate = self
    self.textView.attributedText = attributedString
    self.textView.isUserInteractionEnabled = true
    self.textView.isEditable = false
}

答案 2 :(得分:0)

我遇到了与您相同的问题,并且我尝试了很多方法来解决。最好的方法是使用Atributika(或类似的库)。您不会后悔这一决定。它易于使用并且具有很多功能。

https://github.com/psharanda/Atributika

答案 3 :(得分:-1)

如果我正确理解您的问题,那么您可以添加一个按钮,然后将按钮文本更改为所需的文本。然后像普通文本一样,您可能会弄乱颜色,边框或填充。将其添加到应用程序后,将其作为操作与View controller.swift文件进行链接

这是我的应用程序“ Health Dash”中的一个示例:

Image 1

Image 2

然后输入快速的4代码:

import UIKit

class FriendsViewController: UIViewController {
 @IBAction func exampleText(_ sender: Any) {
     print("When you click this button something happens")
 }

 override func viewDidLoad() {
     super.viewDidLoad()

     // Do any additional setup after loading the view.
 }
}

以下是其外观的图像:

Image 3