iPhone: как настроить "блокировочный вид" с четким размером окна? - PullRequest
1 голос
/ 22 марта 2010

Я чувствую, что это должно быть очевидно для меня, но по какой-то причине я не могу понять это. У меня есть навигационный интерфейс с панелью навигации, панелью инструментов и основным видом. Иногда пользователь выполняет действие, которое заставляет индикатор прогресса появляться в середине представления.

Хотя индикатор прогресса (который является пользовательским UIView) вращается посередине, я не хочу, чтобы сенсорный ввод позволял переходить к какому-либо нижележащему интерфейсу (основной вид, панель навигации, панель инструментов и т. Д.). Но это не кажется тривиальным.

Я пытался (и не смог) создать простое представление, единственная задача которого - проглотить сенсорный ввод и использовать его в качестве подпредставления окна - без кубиков, он никогда не получает сенсорные события (и да, он имеет userInteractionEnabled ). Я пытался использовать его как прозрачный модальный контроллер вида, но он, кажется, никогда не был прозрачным.

Мысли? Чего мне не хватает?

Спасибо!

Ответы [ 2 ]

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

Вы можете запретить приложению принимать события взаимодействия с

[[UIApplication sharedApplication] beginIgnoringInteractionEvents];

, а затем снова начать принимать события

[[UIApplication sharedApplication] endIgnoringInteractionEvents];

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

Чтобы предложить другой маршрут.Вы можете отобразить UIAlertView, созданный только с помощью метода init, чтобы поместить индикатор прогресса в его середине.Если вы используете метод init, у пользователя не будет кнопок для взаимодействия.Затем, когда вы закончите, вы можете отключить просмотр предупреждений.Если вы хотите дать пользователю возможность отменить действие, вы даже можете использовать кнопку в окне предупреждений, чтобы отменить его.

1 голос
/ 22 марта 2010

Вы можете создать прозрачное окно UIWindow с windowLevel> 1.

...