перерисовать графический интерфейс пользователя при получении экрана блокировки iphone - PullRequest
3 голосов
/ 23 апреля 2011

Как я могу предотвратить перерисовку моего GUI, когда он возвращается с экрана блокировки после получения UILocalNotification?В didReceiveLocalNotification я представляю модальное представление, но старое состояние моих контроллеров представления показывается за мгновение до этого.Как мне предотвратить это?

Кроме того, порядок событий, которые я получаю, когда возвращаюсь на локальное уведомление из фона, выглядит следующим образом:

1. UIApplicationWillEnterForegroundNotification
2. UIApplicationDidBecomeActiveNotification
3. didReceiveLocalNotification

Когда я выхожу с экрана блокировки:

1. didReceiveLocalNotification
2. UIApplicationDidBecomeActiveNotification

Почему эта разница и есть ли что-то еще, что я пропускаю?

Спасибо

Ответы [ 2 ]

3 голосов
/ 24 апреля 2011

Вот как это было решено.Может быть, это не так, но у меня это сработало.Так как мое приложение поддерживает VoIP / Audio, оно не достигает didFinishLaunchingWithOptions ... Я обнаружил, что iOS использует кэшированное изображение из предыдущего состояния для анимации, когда оно возобновляется из фона или из спящего режима.Таким образом, решение в основном заключается в обмене этого кэшированного изображения с моим изображением default.png.Я делаю это в applicationWillResignActive делегате.Там я добавляю модальное представление с Default.png изображением и отклоняю его в applicationDidBecomeActive.Это действительно вкратце.Надеюсь, это поможет кому-то еще с той же проблемой.

1 голос
/ 23 апреля 2011

Вы можете предоставить пользовательское изображение, которое отображается при запуске / возобновлении из локального уведомления.Просто установите для свойства alertLaunchImage в локальном уведомлении имя правильного изображения.

Из документов:

Строка - это имя файла изображения в приложениирасслоение.Это изображение является стартовым изображением, указанным для данного уведомления;когда пользователь нажимает кнопку действия (например, «Просмотр») или перемещает ползунок действия, изображение используется вместо изображения запуска по умолчанию.Если значение этого свойства равно nil (по умолчанию), система либо использует предыдущий снимок, либо использует изображение, идентифицированное ключом UILaunchImageFile в файле Info.plist приложения, либо возвращается к Default.png.

alertLaunchImage

...