2012-10-30 178 views
6

我有一個UIView,我希望它在新day.For例子顯示,今天我啓動我的應用程序,並且UIView的來到我的看法,但在此之後,我無法看到的UIView到明天。如何判斷在iOS項目中是否是新的一天?

所以我想知道如何判斷是否是新的一天,顯示的UIView?

回答

15

您需要爲UIApplicationSignificantTimeChangeNotification註冊通知。

[[NSNotificationCenter defaultCenter] addObserver:self selector:@selector(timeChange) name:UIApplicationSignificantTimeChangeNotification object:nil]; 

然後在timeChange方法(或者無論你怎麼稱呼它)更新您的看法。

不要忘記註銷:

[[NSNotificationCenter defaultCenter] removeObserver:self name:UIApplicationSignificantTimeChangeNotification object:nil]; 

此通知在午夜發送,如果用戶更改其設備上的時間或時區的變化。如果您的應用程序在更改發生時位於後臺,它會在應用程序返回到前臺時收到通知。

+0

當時間的變化,我希望應用程序中顯示的應用程序的視圖前顯示的viewController,它聽起來像UIAlertView中?這可能嗎? – lixiaoyu

+0

當您收到時間更改通知時,您可以執行任何操作。請記住,當你得到通知,也可能是提前5分鐘(如果用戶更改時間您的iOS設備上),也可能是第二天(午夜),或者它可能是一個星期後(如果應用程序已經有幾天的背景)。 – rmaddy

+0

如果您關閉了應用程序,會發生什麼情況。午夜後打開應用程序時,你會錯過通知? – Kobe

相關問題