Подражая функциональности уведомлений стиля баннера iOS / в навигации приложения - PullRequest
3 голосов
/ 31 января 2012

В настоящее время у меня есть настройки моего приложения для получения push-уведомлений. Когда я нахожусь в приложении и получаю push-уведомление, у меня появляется пользовательский слайд UIView внизу экрана и отображается уведомление (аналогично новой версии WhatsApps). По сути, я пытаюсь имитировать уведомления о стиле баннера в iOS 5.

То, что я сейчас собираюсь сделать, это то, что UIView кликабелен. При щелчке, основываясь на типе полученного уведомления, я перехожу на другой контроллер представления (аналогично тому, как это делает whatsapp).

Например, я нахожусь в чате A. Я получаю сообщение в чате B. Снижается слайдер, я нажимаю на него, и это приводит меня в чат B. В push-уведомлении я по сути передаю chatroomID, который могу используйте, чтобы определить, к какой комнате (по сути, какой-то вид) я хотел бы присоединиться.

У меня уже есть контроллер корневого представления с контроллером навигации. Я модально выдвигаю другие контроллеры представления, поскольку пользователь перемещается по приложению. Буду ли я отклонять текущий вид и выдвигать следующий вид при получении уведомления?

Кроме того, как мне сделать так, чтобы мой вид слайдера обнаруживал нажатия, такие как уведомление на баннере iOS? (и, может быть, у вас есть выбранная анимация, похожая на «стиль с серым кликом» в UITableView)?

Ответы [ 2 ]

0 голосов
/ 24 октября 2012

Вот хитрость для обнаружения касания вида: используйте UIControl вместо UIView (UIControl - это суперкласс UIView).Затем используйте метод UIControl addTarget:action:forControlEvents: с controlEvents из UIControlEventTouchUpInside, чтобы отправить объекту по вашему выбору сообщение при касании представления.Если вы настраиваете представление в графическом редакторе XCode, вы можете использовать поле «Класс» инспектора идентификации для изменения класса вашего представления с UIView на UIControl, а затем вы можете настроить событие Touch Up Inside.

(Я изучил эту технику из Программирование на iOS: Руководство ранчо «Большой ботаник» от Конвея и Хиллегаса.)

0 голосов
/ 31 января 2012

Вы могли бы очень легко представить кнопку «Очистить» над представлением оператором «если», который соответствует вашим критериям, и выполнить анимацию представления оттуда с переходом обратно в другое представление.

...