Следующий код, используемый для работы в iOS6, чтобы скрыть клавиатуру, когда контроллер отображения был удален из стека навигации:
- (void)viewWillDisappear:(BOOL)animated {
[self.view endEditing:YES];
[super viewWillDisappear:animated];
}
Однако в iOS7 строка [self.view endEditing: YES], похоже, игнорируется. Я пробовал команду в других событиях просмотра (viewDidDisappear, viewWillAppear и viewDidAppear), и единственным, с которым он работал, является viewDidAppear. Похоже, что когда инициируется "поп", мы теряем способность скрывать клавиатуру, пока контроллер просмотра "не будет нажат" обратно в стек.
При размещении кода в viewDidAppear работает, чтобы скрыть клавиатуру, плохо то, что клавиатура отображается кратковременно, когда viewController возвращается в навигационный стек... довольно неприемлемо с точки зрения пользовательского интерфейса.
Кто-нибудь еще имел успех в работе над этой проблемой? Я бы предпочел не писать собственную кнопку ОТМЕНА, но прямо сейчас это единственное, о чем я могу думать, что это сработает.