Detect Start and Stop Editing UITextView

http://developer.apple.com/library/ios/#documentation/uikit/reference/UITextViewDelegate_Protocol/Reference/UITextViewDelegate.html#//apple_ref/occ/intf/UITextViewDelegate

Here you can find several useful methods to investigate:

  • textViewDidBeginEditing:
  • textViewDidEndEditing:

Moreover to leave UITextView you often should implement action that calls [yourTextView resignFirstResponder];

Objective-C example

//you may specify UITextViewDelegate protocol in .h file interface, but it's better not to expose it if not necessary
@interface ExampleViewController()<UITextViewDelegate> 

@end

@implementation ExampleViewController

- (void)viewDidLoad {
    [super viewDidLoad];

    //assuming _textView is already instantiated and added to its superview
    _textView.delegate = self;
}


//it's nice to separate delegate methods with pragmas but it's up to your local code style policy
#pragma mark UITextViewDelegate

- (void)textViewDidBeginEditing:(UITextView *)textView {
    //handle user taps text view to type text
}

- (void)textViewDidEndEditing:(UITextView *)textView {
    //handle text editing finished    
}

@end

Swift Example

class TextViewEventsViewController: UIViewController, UITextViewDelegate {
    
    @IBOutlet weak var exampleTextView: UITextView!

    override func viewDidLoad() {
        super.viewDidLoad()
        
        self.exampleTextView.delegate = self
    }
    
    func textViewDidBeginEditing(_ textView: UITextView) {
        print("exampleTextView: BEGIN EDIT")
    }
    
    func textViewDidEndEditing(_ textView: UITextView) {
        print("exampleTextView: END EDIT")
    }
}

Leave a Comment

Hata!: SQLSTATE[HY000] [1045] Access denied for user 'divattrend_liink'@'localhost' (using password: YES)