Josh Kahane Josh Kahane - 11 months ago 64
Objective-C Question

Detect Start and Stop Editing UITextView

How can I call some code upon entering a UITextView (user taps to edit it) and leaving the view (user taps to leave it)?

Appreciate any help.

Answer Source

Here you can find several useful methods to investigate:

  • textViewDidBeginEditing:
  • textViewDidEndEditing:

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

UPD: brief example

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


@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