tuzzolotron tuzzolotron - 1 year ago 82
Objective-C Question

Hiding the Keyboard when losing focus on a UITextView

So I have a UITextView that I'm using to allow the user to submit some text.

My problem is, I can't seem to figure out how to allow the user to 'Cancel' by tapping away from the UITextView.

Answer Source

Simplifying tuzzolotron's answer: Where the following outlet is properly connected in your xib

    IBOutlet UITextView *myTextView;

Use this in the view controller:

- (void)touchesBegan:(NSSet *)touches withEvent:(UIEvent *)event {

    UITouch *touch = [[event allTouches] anyObject];
    if ([myTextView isFirstResponder] && [touch view] != myTextView) {
        [myTextView resignFirstResponder];
    [super touchesBegan:touches withEvent:event];

A tap on the View Controller's View, outside of the Text View, will resign the first responder, closing the keyboard.

Recommended from our users: Dynamic Network Monitoring from WhatsUp Gold from IPSwitch. Free Download