Сокрытие Клавиатуры при потере внимания на UITextView

В настоящее время, понимание, работает ли CSS правильно или не визуально определяется. До сих пор лучший способ протестировать его посредством установки нескольких браузеров на Вашей dev машине. Начните использовать инструменты как Firebug и Веб-разработчик на Firefox, и забудьте о CSS Поблочного тестирования, пока это не станет полным по Тьюрингу.:-)

45
задан Peter Hosey 21 September 2009 в 18:50
поделиться

2 ответа

Упрощение ответа туццолотрона : Если следующий выход правильно подключен к вашему xib

    IBOutlet UITextView *myTextView;

Используйте это в контроллере представления:

- (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];
}

Касание в представлении контроллера представления за пределами текстового представления приведет к уходу первого респондента, закрывая клавиатуру.

107
ответ дан 26 November 2019 в 20:50
поделиться

На мой взгляд:

- (void)touchesBegan:(NSSet *)touches withEvent:(UIEvent *)event {
    UITouch *touch = [touches anyObject];

    // pass touches up to viewController
    [self.nextResponder touchesBegan:touches withEvent:event];
}

В моем контроллере представления:

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

    UITouch *touch = [[event allTouches] anyObject];
    if (keyboardShown && [touch view] != self.TextView) 
    {
         [self.TextView resignFirstResponder];
    }
    [super touchesBegan:touches withEvent:event];
}

- (void)keyboardWasShown:(NSNotification*)aNotification
{    
        keyboardShown = YES;
}
7
ответ дан 26 November 2019 в 20:50
поделиться