У меня есть UITextField в пейзажном представлении, и когда я нажимаю кнопку «увольнять клавиатуру» в правом нижнем углу экрана UIKeyboard, клавиатура НЕ исчезает. Есть ли способ программно слушать, когда был нажат этот ключ? Или есть связь, которую я не вижу, что заставит эту клавиатуру уйти? Это iOS 4 и XCode 4. Спасибо.Кнопка «отклонить клавиатуру» iPad не отменяет клавиатуру
ответ
У меня была такая же проблема сегодня, и я подумал, что это работает в примере кода Apple KeyboardAccessory. Так что я сделал обратную инженерию. ViewController не была ошибкой, которую я сделал в моем случае.
В реализации UIApplicationDelegate есть точка входа приложения, где будет установлен корневой контроллер и окно - (void) applicationDidFinishLaunching:(UIApplication *)application
. Если вы забыли добавить представление root viewcontrollers в окно как subview, кнопка «закрыть-клавиатура» не будет работать в любом представлении вашего приложения.
@class ViewController;
@interface KeyboardAccessoryAppDelegate : NSObject <UIApplicationDelegate> {
UIWindow *window;
ViewController *viewController;
}
@property (nonatomic, retain) IBOutlet UIWindow *window;
@property (nonatomic, retain) IBOutlet ViewController *viewController;
@end
...
- (void)applicationDidFinishLaunching:(UIApplication *)application {
[window addSubview:viewController.view];
[window makeKeyAndVisible];
}
Пожалуйста, не забудьте настроить выходы в главном файле XIb.
Я не знаю, почему это связано с поведением клавиатуры. Но моя теория заключается в том, что цепочка ответчиков не связана с окном, но это необходимо.
вам нужно указать текстовое поле, которое принимает ввод на клавиатуре, чтобы больше не быть первым ответчиком.
[UITextField resignFirstRepsonder];
Чтобы закрыть клавиатуру с помощью кнопки распускать клавиатуры вам необходимо реализовать метод делегата
- (BOOL)textFieldShouldReturn:(UITextField *)textField
{
//Check if your text field is first responder, and if it is, have it resign
}
В качестве альтернативы, если вы хотите, чтобы закрыть клавиатуру, нажав вне его, используйте
-(void)touchesEnded:(NSSet *)touches withEvent:(UIEvent *)event
{
for (UIView* view in self.view.subviews)
{
if ([view isKindOfClass:[UITextField class]]) {
[view resignFirstResponder];
}
if ([view isKindOfClass:[UITextView class]]) {
[view resignFirstResponder];
}
}
}
Спасибо @capt kettch - У меня уже было это в моем коде ... вот фрагмент ... У меня есть класс, настроенный как делегат для UITextField: '@interface SettingsController: UIViewController
Я забыл упомянуть, вы должны убедиться, что ваше текстовое поле имеет свой делегат, установленный в viewcontroller (скорее всего, я) –
- 1. Отключить клавиатуру на IPAD
- 2. ABPersonViewController не отклоняет клавиатуру
- 3. Добавление ключа в клавиатуру IPad
- 4. Как узнать, использует ли iPad клавиатуру или виртуальную клавиатуру Bluetooth?
- 5. Как отклонить цифровую клавиатуру на возврат ключа
- 6. Попытка отклонить клавиатуру с кнопкой «возврат»
- 7. Приложение для iPad iOS не скрывает клавиатуру
- 8. iPad - не скрывает клавиатуру для текстового поля
- 9. iPad popover textfield - resignFirstResponder не закрывает клавиатуру
- 10. StageWebView не показывает клавиатуру на iPad/ios6.1
- 11. resignFirstResponder не отклоняет ASCII-клавиатуру для UITextField
- 12. UIAlertView не отображает клавиатуру
- 13. resignFirstResponder не скрывает клавиатуру
- 14. Создайте новую клавиатуру на iPhone/iPad
- 15. Хотите отобразить клавиатуру черного цвета в iPad
- 16. Как отображать клавиатуру iPad при запуске приложения?
- 17. Панель поиска UISearchDisplayController не будет закрывать клавиатуру?
- 18. Сделать пользовательскую клавиатуру не подвижной
- 19. Отключить клавиатуру с UIScrollView
- 20. Постепенно уберите клавиатуру ios
- 21. Кнопка мыши «поиск» нажатием на пользовательскую клавиатуру
- 22. Преобразование последовательного ввода в клавиатуру Кнопка-пресс
- 23. Вход/кнопка ввода типа вызывает виртуальную клавиатуру
- 24. Замените клавиатуру Blackberry на клавиатуру программного обеспечения
- 25. Не отображает арабскую клавиатуру
- 26. UIWebView не отображает клавиатуру
- 27. UITextView не удалять клавиатуру
- 28. коды не отклоняют клавиатуру
- 29. findAndResignFirstResponder не отклоняет клавиатуру
- 30. Эмулятор не отображает клавиатуру
Да - это не проблема. Когда это сообщение отправляется, клавиатура исчезает. Проблема в том, что ничего не происходит, когда нажата кнопка «убрать клавиатуру» в правом нижнем углу iPad-клавиатуры (которая похожа на маленькую иконку клавиатуры). И текстовое поле не получает никакого ввода от этого ключа. Мне действительно интересно, если я столкнулся с ошибкой в этот момент. Спасибо хоть. –