Скрытие клавиатуры ios

У меня есть несколько текстовых вводов, и я могу скрыть клавиатуру всякий раз, когда я касаюсь фона, но только когда я вхожу в первое текстовое поле с именем textField1. теперь этот код должен быть простым, но я просто не могу его понять.

-(IBAction)backgroundTouched:(id)sender {
    [textField1 resignFirstResponder];
    [buildLength resignFirstResponder];
    [buildWidth resignFirstResponder];
    [ridgeWidth resignFirstResponder];
    [rafterWidth resignFirstResponder];
    [hipWidth resignFirstResponder];
    [eaveOverhang resignFirstResponder];
    [spacing resignFirstResponder];
}

4 ответа

Если вы хотите скрыть клавиатуру, когда вы нажимаете кнопку, и у вас есть более одного UITextFields в вашем view, тогда вы должны использовать:

[self.view endEditing:YES];

Нажмите в любом месте в представлении, и клавиатура исчезнет.

Попробуй это:

- (void) touchesBegan:(NSSet *)touches withEvent:(UIEvent *)event 
{
     [[self view] endEditing:YES];
}

Вы также можете перебирать массив представлений (например, подпредставления вашего UIView) и вручную переставлять клавиатуру, это хорошо, если вы не хотите подавать в отставку на ВСЕХ подпредставлениях в родительском UIView.

- (void)viewDidLoad
{
    self.view.userInteractionEnabled = TRUE;
    [super viewDidLoad];
    // Do any additional setup after loading the view, typically from a nib.
}

-(void)touchesBegan:(NSSet *)touches withEvent:(UIEvent *)event{
    //Iterate through your subviews, or some other custom array of views
    for (UIView *view in self.view.subviews)
        [view resignFirstResponder];
}

Ты можешь попробовать UITouch метод, и в этом установите свой объект текстового поля и вызовите resignFirstResponderкогда вы дотронетесь до экрана, клавиатура уйдет в отставку, надеюсь, это сработает для вас.

- (void)touchesBegan:(NSSet *)touches withEvent:(UIEvent *)event
{  
    [currentSelectedTextField resignFirstResponder];
}
Другие вопросы по тегам