当应用程序放在后台时如何解除警报视图?

时间:2012-01-06 08:21:56

标签: iphone objective-c ios

如果我在我的应用程序中收到警报,并且我将应用程序置于后台并按应用程序图标进入应用程序,则会显示启动画面,然后弹出警报。为什么会出现闪屏? 如果没有警报并且我将应用程序放在后台并按应用程序图标进入应用程序,则不会显示启动画面。

5 个答案:

答案 0 :(得分:6)

首先,您必须在班级中设置UIAlertView属性。 在你的AppDelegate类中,你可以实现applicationDidEnterBackground:方法,你可以这样做:

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

如果您的应用进入后台,则应该取消警报。 希望这有帮助!

答案 1 :(得分:1)

启动画面如@ akshay1188所述,是项目文件中的Default.png。根据我的最佳假设显示它的原因是因为操作系统在您返回之前没有设法截取您的应用程序的屏幕截图。请参阅此answer以查看讨论它的StackOverflow问题。

至于UIAlertView,@ pKoul的anwser得到了我的支持。

答案 2 :(得分:0)

如果要以编程方式关闭所有AlertView,则必须记住对当前显示的Alterviews的引用。我推荐一个Singleton类,你需要一个AlertView,并保存一个对AlertView的引用。

然后你可以使用

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

并在Singleton类上调用一个函数,它本身调用

[alert dismissWithClickedButtonIndex:0 animated:YES];

所有Alertviews。

答案 3 :(得分:0)

也许你可以在任何需要清理的类中使用UIApplicationDidEnterBackgroundNotification发布的通知,然后再输入bg。 不要忘记删除dealloc中的观察者。

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

答案 4 :(得分:0)

启动画面实际上是您可能用作Default.png

的启动图像