jueves, 31 de diciembre de 2015

iOS: How to close soft keyboard

Objective C

- (void)viewDidLoad {
    [super viewDidLoad];
    

    [self setCloseKeyboard];

    ...
}

- (void)setCloseKeyboard
{
    UITapGestureRecognizer *tap = [[UITapGestureRecognizer alloc]
                                   initWithTarget:self
                                   action:@selector(dismissKeyboard)];
    tap.numberOfTapsRequired = 1;
    tap.cancelsTouchesInView = NO;
    
    [self.navigationController.navigationBar addGestureRecognizer:tap];
    [self.view addGestureRecognizer:tap];
}

-(void)dismissKeyboard {
    [self.view endEditing:YES];
}

- (void)viewWillAppear:(BOOL)animated
{
    [self.view endEditing:YES];
    
    [super viewWillAppear:animated];
}

Swift

let gesture = UITapGestureRecognizer(target: self, action: #selector(dismissKeyboard))
        gesture.numberOfTapsRequired = 1
        gesture.cancelsTouchesInView = false
       
        view.addGestureRecognizer(gesture)