Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/ios/117.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Iphone 当应用程序进入后台时关闭popover_Iphone_Ios_Uipopovercontroller - Fatal编程技术网

Iphone 当应用程序进入后台时关闭popover

Iphone 当应用程序进入后台时关闭popover,iphone,ios,uipopovercontroller,Iphone,Ios,Uipopovercontroller,当应用程序进入后台时,如何关闭popover?您可以使用appdelegate.m文件中的委托方法来完成此操作 - (void)applicationDidEnterBackground:(UIApplication *)application { //put your dissmiss popover code here } 可以使用appdelegate.m文件中的delegate方法执行此操作 - (void)applicationDidEnterBackground:(UIAp

当应用程序进入后台时,如何关闭popover?

您可以使用appdelegate.m文件中的委托方法来完成此操作

- (void)applicationDidEnterBackground:(UIApplication *)application
{
    //put your dissmiss popover code here
}

可以使用appdelegate.m文件中的delegate方法执行此操作

- (void)applicationDidEnterBackground:(UIApplication *)application
{
    //put your dissmiss popover code here
}

在应用程序代理的willResignActive方法中发送NSNotification,并在包含弹出窗口的视图控制器中侦听它,并在收到通知时让它关闭所述弹出窗口。

在应用程序代理的willResignActive方法中发送NSNotification,并在包含弹出窗口的视图控制器中侦听它,并在收到通知时让它关闭所述弹出窗口。

最好为UIApplicationIdentinterBackgroundNotification或UIApplicationWillResignActivityNotification注册控制器,并在应用程序进入后台时关闭它,我觉得这会让你的生活更轻松

在viewDidLoad中注册通知

实施该方法并

  -(void)myMethod{
    // dismiss popview here
    }
最后,从视图控制器中的通知中取消注册

-(void)dealloc{
[[NSNotificationCenter defaultCenter] removeObserver:self];
}

最好为UIApplicationIdentinterBackgroundNotification或UIApplicationWillResignActiveNotification注册控制器,并在应用程序进入后台时将其关闭,这将使您的生活更加轻松

在viewDidLoad中注册通知

实施该方法并

  -(void)myMethod{
    // dismiss popview here
    }
最后,从视图控制器中的通知中取消注册

-(void)dealloc{
[[NSNotificationCenter defaultCenter] removeObserver:self];
}
试试这个

- (void)applicationDidEnterBackground:(UIApplication *)application
{
   //[popover dissmissPopoverAnimated:YES];
}
试试这个

- (void)applicationDidEnterBackground:(UIApplication *)application
{
   //[popover dissmissPopoverAnimated:YES];
}

要使此方法正常工作,您需要在appDelegate中保留popoverController的引用,这可能不是一个好的选择。由@David Haynes和nsgulliver给出的答案会更好。要使此方法有效,您需要在appDelegate中保留popoverController的引用,这可能不是一个好的选择。@David Haynes和nsgulliver的答案会更好。不想使用通知,有没有办法从窗口获取UIPopoverController实例,因为我们可以获取警报,操作表。我觉得最好使用通知,而不是直接在AppDelegates中调用viewcontroller的代码。我正在递归地遍历窗口的子视图,以消除警报和工作表,寻找类似的类型solution@user1446500如果这是您的要求,您可以访问viewController中的窗口?[UIApplication sharedApplication]委托]。窗口;你解决你的问题了吗?如果答案有助于您不想使用通知,那么您可以接受,有没有办法从窗口获取UIPopoverController实例,因为我们可以获取警报,操作表。我觉得最好使用通知,而不是直接在AppDelegates中调用viewcontroller的代码。我正在递归地遍历窗口的子视图,以消除警报和工作表,寻找类似的类型solution@user1446500如果这是您的要求,您可以访问viewController中的窗口?[UIApplication sharedApplication]委托]。窗口;你解决你的问题了吗?如果答案对你有帮助,你可以接受