Изменить zoomScale и contentOffset UIScrollView в состоянии UIApplicationStateBackground

Я знаю это'Не рекомендуется изменять внешний вид представления, когда приложение переводится в фоновое состояние, но для своей конкретной задачи я не могу отложить это действие, и я действительно хочу завершить его через пару секунд после того, как пользователь нажмет кнопку «Домой».

Тот'Что я делаю:Я загружаю веб-страницу в UIWebView и после завершения загрузки меняю contentOffset и zoomScale, чтобы сделать определенный снимок экрана с этой веб-страницей. Когда приложение находится в активном состоянии, все работает нормально.

Теперь я хотел добавить еще несколько возможностей многозадачности. Я инкапсулировал вышеописанную загрузку и рендеринг веб-страниц взащищенная фоновая задача (Завершение задачи iOS),для того, чтобы завершить его, даже когда пользователь нажимает кнопку домой.

Я заметил, что загрузка страницы и рендеринг скриншота веб-страницы (с помощью метода renderInContext:) прекрасно работает в фоновом режиме,НО кажется, что веб-просмотр (т.е. инкапсулированный экземпляр UIScrollView)не реагирует на setContentOffset: и setZoomScale: сообщения, как только приложение находится в фоновом режиме.

Так что я'я спрашиваю вас, знаете ли вы какие-либо альтернативы для изменения смещения / масштабирования контента? (изменения непосредственно на CALayer?) Или любой метод "сила» scrollview для выполнения изменений содержимого даже в фоновом режиме.

PS: на симуляторе iOS все отлично работает даже в фоновом состоянии приложения, а на реальных устройствах - нет.

РЕДАКТИРОВАТЬ: я создал простой демонстрационный проект, который демонстрирует проблему. Вы можете скачать его здесь (пожалуйста, прочитайте инструкцию в zip-файле):http://dl.dropbox.com/u/3556271/BackgroundBugDemo.zip

Я ценю каждый намек или совет. Спасибо!

Ответы на вопрос(0)

Ваш ответ на вопрос