2012-01-06 70 views
3

如果我在應用程序中收到警報,並且如果我將應用程序置於後臺並按應用程序圖標進入應用程序,則會顯示一個閃屏,然後彈出警報。爲什麼會出現閃屏? 如果警報不存在,我將應用程序置於後臺並按應用程序圖標進入應用程序,則不顯示啓動畫面。如何在應用程序放入後臺時關閉警報視圖?

回答

0

如果要以編程方式關閉所有AlertView,則必須記住對當前顯示的Alterviews的引用。我推薦一個Singleton類,你需要一個AlertView並且保存一個AlertView的引用。

,那麼你可以使用

`- (void)applicationDidEnterBackground:(UIApplication *)application` 
在你的AppDelegate

,並呼籲Singleton類的函數至極本身都Alertviews呼籲

[alert dismissWithClickedButtonIndex:0 animated:YES]; 

+0

現在當我進入應用程序但閃屏沒有顯示警報。 – sameet 2012-01-06 09:04:47

+0

我猜你實施我推薦你嗎?如果是的話:你如何顯示你的Splashscreen? – 2012-01-06 09:58:04

6

首先,您必須將UIAlertView作爲班級中的一個屬性。 在你的AppDelegate類可以實現在至極的applicationDidEnterBackground:方法,你可以把這樣的事情:

[yourViewController.yourAlert dismissWithClickedButtonIndex:0 animated:NO]; 

如果您的應用程序進入後臺這應該解除警報。 希望這有助於!

+0

如果我有多個alertview,我該如何關閉它們?任何想法? @pmk – 2014-12-05 09:48:01

0

也許你可以在輸入bg之前使用通知張貼的UIApplicationDidEnterBackgroundNotification在任何需要進行清理的類中。 不要忘記刪除dealloc中的觀察者。

[[NSNotificationCenter defaultCenter] addObserver: self 
              selector: @selector(cleanup:) 
               name: UIApplicationDidEnterBackgroundNotification 
               object: nil] 
0

閃屏實際上是您可能使用作爲爲Default.png

1

閃屏是@ akshay1188提到,在您的項目文件中的Default.png推出圖像。根據我的最佳假設,顯示它的原因是因爲操作系統在返回之前未設法截取您的應用程序。看到這個answer到討論它的StackOverflow問題。

至於UIAlertView,@ pKoul的anwser得到了我的讚賞。

相關問題