Распознать текст, нажав на него в textField Swift - PullRequest
1 голос
/ 14 мая 2019

Я новичок и хочу создать пользовательский класс для UITextView, где я смогу получить текст, нажав на него внутри UITextView.Как создать Custom UITextView класс?

Ответы [ 3 ]

1 голос
/ 14 мая 2019

Попробуйте, я создал пользовательский класс textview и протокол, который необходимо подтвердить в своем классе, и реализую этот метод для получения текста textview каждый раз, когда вы нажимаете textview.

class CustomTextView: UITextView {

    weak var delegateCustomTV: CustomTextViewDelegate?

    override func awakeFromNib() {
        super.awakeFromNib()
        let tapGestureRecognizer = UITapGestureRecognizer(target: self, action: #selector(self.textViewTapped))
        self.addGestureRecognizer(tapGestureRecognizer)
    }

    @objc func textViewTapped() {
        delegateCustomTV?.preparedText(text: self.text ?? "")
    }
}

protocol CustomTextViewDelegate: class {
   func preparedText(text: String)
}

используйте, как я использовал ниже,

class yourViewController: UIViewController, CustomTextViewDelegate {


    @IBOutlet weak var textView: CustomTextView!

    override func viewDidLoad() {
        super.viewDidLoad()
        textView.delegateCustomTV = self
    }

    func preparedText(text: String) {
        // You will get your text here when you click on textview
        print(text)
    }
}
0 голосов
/ 14 мая 2019

если вы хотите получать текст каждый раз, когда вы нажимаете на просмотр текста, вы должны добавить жест касания




      override func viewDidLoad() {
        super.viewDidLoad()

        self.textView.delegate = self

        let tap = UITapGestureRecognizer(target: self, action: #selector(self.textViewTapped(_:)))

        self.textView.addGestureRecognizer(tap)
}


 @objc func textViewTapped(_ sender: UITapGestureRecognizer){
       print(textView.text)
    }


0 голосов
/ 14 мая 2019

Попробуйте это

 override func viewDidLoad() {
        super.viewDidLoad()

        self.textView.delegate = self 
    }
extension YourViewController: UITextViewDelegate
{

     //MARK:- TextView Editing begins Function     

    func textViewDidBeginEditing(_ textView: UITextView)
    {
        //TextView Editing Begin Function
    }



    // MARK:- TextView text replaced Function

    func textView(_ textView: UITextView, shouldChangeTextIn range: NSRange, replacementText text: String) -> Bool
    {
       //Character changed in textView
        return true
    }



     // MARK:- TextView End Editing function

    func textViewDidEndEditing(_ textView: UITextView)
    {        
       //End editing of textView
    }

}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...