2013-12-24 2 views
3

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

Это означает, что если приложение было помечено в фоновом режиме в течение 10 секунд, секундомер будет иметь неправильное время (на 10 секунд), отображаемое во время анимации открытия.

Есть ли способ остановить iOS с помощью этого моментального снимка или остановить использование iOS, когда приложение вернется на передний план?

ответ

2

Вы не можете остановить iOS от моментального снимка. Но вы можете отобразить и скрыть временный вид при помощи ниже уведомлений:

UIApplicationDidEnterBackgroundNotification 

UIApplicationWillEnterForegroundNotification 

Временный вид будет затем взят в качестве снимка.

[[NSNotificationCenter defaultCenter]addObserver:self selector:@selector(displayTempView) name:UIApplicationDidEnterBackgroundNotification object:nil]; 
    [[NSNotificationCenter defaultCenter]addObserver:self selector:@selector(hideTempView) name:UIApplicationWillEnterForegroundNotification object:nil]; 

    - (void) displayTempView { 
     tempWebView.hidden = NO; 
    } 
    - (void) hideTempView { 
     tempWebView.hidden = YES; 
    } 

Надеюсь, это поможет.

+0

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

Смежные вопросы