2010-07-23 9 views

ответ

7

UPDATE Этот ответ больше не точны. См. correct answer.

Если ваш UITextField находится в режиме просмотра листа страницы (UIModalPresentationFormSheet), то есть (в настоящее время) нет способа заставить устройство отклонить клавиатуру this devforums post от инженера-яблока.

14

Now we can

- (BOOL)disablesAutomaticKeyboardDismissal { 
    return NO; 
} 
+1

Это, похоже, перестало быть эффективным исправлением в iOS 6 - кто-нибудь еще видел то же самое? – Snips

+0

Это не эффективно для меня в iOS 6.0.x – OscarTheGrouch

+0

vouched for ... не работает в iOS 6 – theiOSDude

25

В прошивкой 4.3, Apple представила вышеупомянутый метод, disablesAutomaticKeyboardDismissal. Он возвращает YES для UIModalPresentationFormSheet, предотвращая отклонение клавиатуры.

Переопределение этого метода работает, , но, если вы представляете свой контроллер просмотра внутри UINavigationController, вы должны подклассифицировать UINavigationController и переопределить метод там.

Я подтвердил, что это действительно работает на iOS 6. Просто обратите внимание на предложение UINavigationController.

+0

Хорошая работа, рад :) – ader

+1

Также проверено для iOS 7.0. –

+0

Тупой вопрос - как вам это сделать, если ваш UINavigationController находится в раскадровке в XCode 5? Я не вижу, чтобы какой-либо код был готов к изменению, чтобы использовать переопределенную копию этого класса ..? –