Закрытие UIAlertView при любом касании

Я пытаюсь использовать UIAlertView в основном как метку (без заголовка или кнопок, просто отображать текст) в эстетических целях. Я хочу иметь возможность продолжать использовать все остальное в приложении (нажимать другие кнопки и т. д.), пока отображается окно оповещения. К сожалению, я не могу вызвать touchesBegan или селектор с помощью UITapGestureRecognizer, пока отображается окно предупреждения. Оба они работают, когда представление предупреждений не отображается, но похоже, что представление предупреждений отключает обнаружение любых касаний (кроме касания собственных кнопок, если они были).

Кто-нибудь знает, как я мог бы обойти это? Даже если бы я создал UILabel и установил его фон на изображение с предупреждением, это сработало бы.

Спасибо за вашу помощь.


person SteveMack    schedule 01.12.2010    source источник


Ответы (1)


Представление предупреждений помещает новое окно поверх всего экрана, которое перехватывает прикосновения. Он специально разработан, чтобы помешать вам делать то, что вы пытаетесь сделать. Почему вы все равно пытаетесь злоупотреблять предупреждениями таким образом? Как правило, плохая идея использовать существующий пользовательский интерфейс и использовать его нестандартными способами, а также возможная причина отказа.

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

person Lily Ballard    schedule 01.12.2010
comment
Спасибо за Ваш ответ. Есть ли способ программно получить доступ к графике представления предупреждений? - person SteveMack; 02.12.2010
comment
Закончилось тем, что мы использовали это изображение с предупреждением в качестве растягиваемого изображения. Я использовал его в UIImageView под меткой, и это сработало отлично. Ссылка: lh3.ggpht.com/_QLwms0mVa4w/S_FsvBgNLtI/ ААААААААqA/ooFM3RIK7Ho/ - person SteveMack; 03.12.2010
comment
Привет, Стив. Если вас устраивает этот ответ, я был бы признателен, если бы вы выбрали его в качестве правильного ответа на свой вопрос. - person Lily Ballard; 04.12.2010