Как предотвратить появление клавиатуры поверх пользовательского представления предупреждений

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

Если я добавлю представление предупреждений в главное окно следующим образом:

[[[UIApplication sharedApplication] keyWindow] addSubview:myAlert];

Оно появится поверх существующей клавиатуры, но все равно будет скрыто, если клавиатура станет активной после представления предупреждения.

Такой сценарий часто возникает при переходе от одного представления к другому. Выходное представление вызывает предупреждение при выходе, а следующее представление хочет активировать UITextField или что-то в этом роде.


person Dancreek    schedule 16.01.2013    source источник


Ответы (3)


Возможно, вы можете добавить свое собственное представление предупреждений в новое окно и установить для этого окна windowLevel значение UIWindowLevelAlert или выше.

person ChenXin    schedule 16.01.2013

Я нашел действительно хороший подход и объяснение здесь.

person Dancreek    schedule 16.01.2013

Вы пытались переопределить метод

- (BOOL)canResignFirstResponder

и возвращает НЕТ?

person Mert    schedule 16.01.2013