2013-03-15 4 views
1

Я хочу показать UIWindow над клавиатурой, но затем разрешить показывать UIAlertView при запросе разрешения на «Использовать ваше текущее местоположение», чтобы показать это окно.Как показать UIWindow над клавиатурой, но под UIAlertView

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

ответ

3

Установка окна windowLevel на UIWindowLevelStatusBar делает то, что я хочу в iOS 6.1. Но это странно, потому что, согласно документации Apple, UIWindowLevelStatusBar должно быть выше Будет ли это работать и в 5.0, 5.1 и 6.0? У меня проблемы с тестированием на симуляторе, потому что мой Интернет действительно slow.

+0

Я столкнулся с нечетной ситуацией на iOS 7. Использование 'UIWindowLevelAlert - 1' недостаточно для обеспечения того, чтобы окно было за предупреждением. Я обнаружил, что 'UIWindowLevelAlert - 4' требуется. – ThomasW

+0

@ThomasW: Я столкнулся с той же проблемой. 'UIWindowLevelAlert - 4' является чертовски чертовски, но это единственное, что работает. – MusiGenesis

0

UIWindowLevel - это CGFloat, поэтому вы можете назначить промежуточное значение следующим образом: Сначала определите, какое окно является окном клавиатуры из массива [UIApplication sharedApplication] .windows. Затем

window.windowLevel=(keyboardWindow.windowLevel+UIWindowLevelAlert)/2.f; 
Смежные вопросы