2012-09-27 51 views
0

我正在開發一些iOs項目。在這個項目中,我有一個過程:(通過NavigationControler,一起進步idndicator和「請等待」消息)將應用程序置於前景後UIAlertView不可見

  1. 用戶註冊自己的註冊頁面
  2. 當他按下「註冊」,另一頁則顯示
  3. 從服務器獲得響應後,在UIAlertView一些消息顯示
  4. 當用戶按下警報「OK」,它移動到下一個(當一切正常),或以前(當事情出錯)頁面。

在大多數情況下,此流程起作用。但有時(並非總是),當用戶將應用程序發送到後臺/在進程指示燈亮時鎖定屏幕,然後將應用程序恢復爲活動狀態時,UIAlertView未顯示。但是,如果用戶再次將應用程序發送到後臺並將其恢復,則可以看到消息。

因爲需要與UIAlertView互動才能繼續,所以這是個問題。我無法向用戶請求一個知識,即如果此時沒有消息可見,他們應該前後打開應用程序。我不知道爲什麼會發生,以及如何避免這種行爲。你可以幫我嗎?

+0

你能分享一些一段代碼,你居然彈出'UIAlertView' –

回答

1

當你的應用程序在後臺時,你可以給本地通知。所以根據你的情況,如果alertview沒有到來,但你仍然希望那個用戶應該知道發生了什麼事情或者什麼是錯誤的,那麼你可以直接使用本地通知。

這裏是代碼 -

UILocalNotification *localNotification = [[UILocalNotification alloc] init]; 

localNotification.fireDate = self.datePicker.date; 
localNotification.alertBody = self.messageField.text; 
localNotification.soundName = UILocalNotificationDefaultSoundName; 
localNotification.applicationIconBadgeNumber = 1; 

NSDictionary *infoDict = [NSDictionary dictionaryWithObjectsAndKeys:@"Object 1", @"Key 
    1", @"Object 2", @"Key 2", nil]; 
localNotification.userInfo = infoDict; 

[[UIApplication sharedApplication] scheduleLocalNotification:localNotification]; 
[localNotification release]; 

所以,當本地通知生成用戶可以知道。你可以導航用戶直接到應用程序。點擊本地通知警報。 locasl通知警報將自動出現。

這裏的鏈接更多詳情 - http://www.iostipsandtricks.com/ios-local-notifications-tutorial/

+0

感謝你回答,但還是:我只是想確保,即UIAlertView中將在用戶將應用程序帶回前面後可見。 – Thaven

+0

當本地通知生成時,它會要求取消或查看。如果您按下查看,它會將您重定向到您離開它的應用程序。您的警報視圖將顯示。你需要做什麼,只要你的條件將正確設置你的警報視圖校正,那麼肯定會產生警報視圖。 –

相關問題