在主页按钮上捕获关闭事件UIImagePickerController

时间:2012-05-24 09:00:51

标签: iphone objective-c events uiimagepickercontroller

我一直在处理程序中的错误,但我似乎无法找到解决方案。

当用户打开相机时,显示UIImagePickerController并且效果很好。 虽然当他按下iPhone上的主页按钮时我想从NSMutableArray中删除一个对象。

例如: 用户打开相机。 将对象添加到另一个类中的NSMutableArray。 用户按下主页按钮 该对象应该被删除。

当应用程序移动到后台时,我无法调用remove方法,因为我需要将另一个对象保留在数组中以进行后台定位服务。

当按下主页按钮或UIImagePicker通过主页按钮事件关闭时,有没有办法捕捉事件?

2 个答案:

答案 0 :(得分:2)

您必须发布通知。对于appDelegate方法中的那个:

 - (void)applicationDidEnterBackground:(UIApplication *)application
 {
   [[NSNotificationCenter defaultCenter] postNotificationName:@"objectRemover" object:nil];
 }

现在你在视图控制器中打开UIImagePickerController及其viewDidLoad方法

-(void)viewDidLoad
{
 [[NSNotificationCenter defaultCenter]addObserver:self selector:@selector(removeObject) name:@"objectRemover" object:nil];
}

在你的视图控制器中添加选择器方法你将删除你的对象,因为当按下主页按钮时它将被调用。

-(void)objectRemover
{
   // Your code remove object from array
}

答案 1 :(得分:0)

在... AppDelegate.m课程中,您将找到以下有用的方法

- (void)applicationWillResignActive:(UIApplication *)application {
- (void)applicationDidEnterBackground:(UIApplication *)application {
- (void)applicationWillTerminate:(UIApplication *)application {