Создать полупрозрачное наложение для имитации UIAlertView или UIActionSheet? - PullRequest
1 голос
/ 11 марта 2010

В приложении для iPhone, которое я сейчас разрабатываю, я представляю несколько «тревожных» представлений, которые имитируют поведение UIAlertView и UIActionSheet. Эти представления требуют нестандартных элементов, которые недоступны в UIAlertView или UIActionSheet. Вместо того чтобы пытаться создавать подклассы, я создал свои собственные классы, чтобы я мог легко настроить внешний вид предупреждений.

Единственная проблема, с которой я столкнулся, заключается в том, что у меня возникают проблемы с исчезновением экрана iPhone при отображении предупреждений. Я хотел бы затемнить весь экран (включая строку состояния) при представлении своих пользовательских представлений так же, как это делают UIAlertView и UIActionSheet. Я пытаюсь сделать это, наложив полупрозрачный вид на весь экран, но независимо от того, добавляю ли я вид в качестве подпредставления keyWindow или самый верхний вид, строка состояния никогда не затеняется.

У кого-нибудь есть предложения, как этого добиться? Это похоже на то, что должно быть просто сделать, поэтому я, наверное, что-то упускаю.

1 Ответ

3 голосов
/ 11 марта 2010

Я этого не делал, но если вы хотите наложить что-либо поверх строки состояния, я бы сказал, что вам придется создать экземпляр UIWindow и установить для его windowLevel значение UIWindowLevelStatusBar. Или найдите окно строки состояния в иерархии представлений и добавьте к нему полупрозрачное подпредставление.

...