Jacob Wilson Jacob Wilson - 10 months ago 157
Swift Question

Swift UITextView Event Listener

My question is how would I set an event listener to listen if the user has typed a character into a UITextView?

I know I can use

to check if it has text but I need to listen for a character typed even if there is already text in the UITextView.


Have a look at UITextViewDelegate.

For example if you have

@IBOutlet weak var textView: UITextView!;

Do conform to the UITextViewDelegate protocol in your view controller

class ViewController: UIViewController, UITextViewDelegate {

// stuff

In your viewDidLoad method add

textView.delegate = self;

Then depending on what you want to listen for, implement the methods from UITextViewDelegate you need.

For example, if you want to listen for when the text view changed implement:

func textViewDidEndEditing(textView: UITextView) {
    // your code here.

Edit: To reflect on the comment do implement this method:

func textViewDidChange(textView: UITextView) {


From Apple's documentation:

Tells the delegate that the text or attributes in the specified text view were changed by the user.