在我正在开发的应用中,有操作表和警告视图,我希望当应用程序进入非活动/后台状态时它们被关闭。
我使用UIApplicationWillResignActiveNotification而不是UIApplicationDidEnterBackgroundNotification,因为我希望代码与iOS3.2兼容。
我使用UIApplicationWillResignActiveNotification而不是UIApplicationDidEnterBackgroundNotification,因为我希望代码与iOS3.2兼容。
-(void)applicationWillResignActive:(Notification *)notification{
if (self.actionSheet && self.actionSheet.visible){
NSLog(@" actionSheet is Visible");
[self.actionSheet dismissWithClickedButtonIndex:0 animated:NO];
}
}
在模拟器中测试(iphone 3.2,iOS4),当操作表可见时,我按下主页按钮,但没有看到“操作表可见”消息。然而,当我重新打开应用程序并再次使用主页按钮关闭它时,我会收到“操作表可见”消息。
这表明第一次操作表的visible属性没有被设置。可能有一个延迟导致属性没有被设置吗?实际上,我在显示操作表的方法中放置了一条消息。
[self.actionSheet showInView:self.parentViewController.tabBarController.view];
if (self.actionSheet.Visible) NsLog(@" action Sheet visible");
即使在这里,我也没有收到消息。可见属性是在哪里/何时设置的?我在尝试解散操作表时是否做错了什么基本错误?我在SO上看到了类似的非常好和详细的解决方案,用于解散alertView...但它们似乎没有涵盖此问题。任何帮助将不胜感激。
UIApplicationWillResignActiveNotification
。 - Anshu Chimala