2012-03-05 17 views
13

UIViewController, içerik indirmeyi tamamladığında model bileşenimin gönderdiği bildirimleri kaydeder.Uygulama arka plana geçtiğinde otomatik olarak çağrılan bir UIViewController yöntemi var mı?

Karşıdan yükleme (beginBackgroundTaskWithExpirationHandler: kullanarak) arka planda gerçekleşebilir, dolayısıyla, arka planda yükleme tamamlandığında GUI'mizi yeniden çizmeyi denemek istemiyorum.

Sanırım iki seçeneğim var - 1) model arka planda/ön planda ne zaman olduğunu ve bildirimleri tetiklemediğini bilir. 2) UIViewController arka planda olduğunda bildirimlerin kaydını kaldırır.

Seçenek 2) tercih edilir.

UIViewController'da, uygulama arka plana girdiğinde her zaman çağrılan bir yöntem var mı? Veya uygulama arka plana geçtiğinde bir bildirim etkinliği almak için UIViewController kayıt olmak zorunda mı?

(viewWillDisappear gibi viewWillUnload vb arka plana olduğunda, uygulama hamle denen alamadım görünüyor?)

cevap

21

view did load yılında UIApplicationDidEnterBackgroundNotification için görünüm denetleyicisi kayıt yapmak ... ilişkili seçici yöntemi önce adı verilecek arka plana giriyor ..

+2

+1 Ancak, uyanırken UI'yi güncellemenin zor olduğunu görebilirsiniz. Uygulamanız arka planda olduğunda, iOS cihazı bir ekran görüntüsü yakalayacak ve uygulama başladığında bu ekran görüntüsünü sunacaktır. Bunun anlamı, kullanıcı arabiriminizi '- (void) applicationDidBecomeActive: (UIApplication *) uygulamasında 'önceki kullanıcı ekranını görecek olursanız ve UI'yi değiştirdiğiniz her şeye değişecektir. – Sam

İlgili konular