Ios 在UILongPressGestureRecognitor中间处理应用程序背景

Ios 在UILongPressGestureRecognitor中间处理应用程序背景,ios,objective-c,Ios,Objective C,在我的应用程序中,我使用UILongPressGestureRecognitizer在UIGestureRecognitizerStateStart的视图中添加子视图,并在手势结束时删除此视图 我的问题是,当应用程序在结束这个手势之前进入后台时(通过单击主页按钮或电源按钮锁定屏幕),我添加的子视图在用户恢复应用程序(返回前台)时仍然存在 请给我一些处理方法 我知道AppDelegate中的-(void)applicationidenterbackground:(UIApplication*)ap

在我的应用程序中,我使用UILongPressGestureRecognitizer在
UIGestureRecognitizerStateStart
的视图中添加子视图,并在手势结束时删除此视图

我的问题是,当应用程序在结束这个手势之前进入后台时(通过单击主页按钮或电源按钮锁定屏幕),我添加的子视图在用户恢复应用程序(返回前台)时仍然存在

请给我一些处理方法
我知道
AppDelegate
中的
-(void)applicationidenterbackground:(UIApplication*)application
委托,但我不知道如何使用此委托来解决我的问题,因为此功能存在于多个
UIViewController

您可以订阅以在应用程序即将进入后台时获得通知。每个
UIViewController
都可以自己订阅通知

然后,您可以通过执行以下操作取消该手势:

recognizer.enabled = NO
recognizer.enabled = YES
编辑


您还应该检查进入后台的应用程序是否已经导致手势识别器进入取消状态。您只需在手势处理程序中检查并删除子视图。

您必须存储对呈现子视图的
UIViewController
的引用。当您的应用程序转到
applicationIdentinterBackground
时,您可以在引用的UIViewController上调用一个方法来删除子视图。
比如:

[AppDelegate.referencedViewController removeSubviewFromScreen];

您是否已检查识别器的UIgestureRecognitzerStateConnected状态?如果应用程序处于后台状态,将使用取消状态调用手势处理程序??