Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/ios/118.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
Ios 如果用户点击UIImageView之外的任何点,则删除UIImageView_Ios_Uiimageview - Fatal编程技术网

Ios 如果用户点击UIImageView之外的任何点,则删除UIImageView

Ios 如果用户点击UIImageView之外的任何点,则删除UIImageView,ios,uiimageview,Ios,Uiimageview,我的应用程序显示了一个ui视图,其中包含四个ui按钮,其中一个删除了ui视图,但我还需要删除ui视图,包括当用户点击其外部时包含的所有按钮。 这就是我如何使用按钮操作删除ui视图的方法: -(IBAction)closeSideTasks: (id)sender { UIView * backgroundView = (UIView *)[self.view viewWithTag:7]; [backgroundView removeFromSuperview]; } 欢迎提供

我的应用程序显示了一个
ui视图
,其中包含四个
ui按钮
,其中一个删除了
ui视图
,但我还需要删除
ui视图
,包括当用户点击其外部时包含的所有按钮。 这就是我如何使用按钮操作删除
ui视图的方法:

-(IBAction)closeSideTasks: (id)sender
{
    UIView * backgroundView = (UIView *)[self.view viewWithTag:7];
    [backgroundView removeFromSuperview];
}
欢迎提供任何帮助或建议

更多信息:


这是一个场景:有一个表视图。如果用户在行上从左向右滑动,则UIView将显示在视图的右侧。点击其中的每个按钮并执行每个按钮操作后,UIView*newView将被删除。但可能是用户没有点击任何按钮,UIView仍保留在视图上。然后,我想要实现的是,如果用户点击UIView*newView之外的任何位置,UIView*newView将被删除,以防止它始终保留在视图上

放一个大按钮,全屏,没有图形,没有文本,背景清晰。让其操作也删除背景

签出
UITapGestureRecognitizer

例如:

UITapGestureRecognizer *tapGesture = [[UITapGestureRecognizer alloc] init];
                    tapGesture.delegate = self;
                    tapGesture.numberOfTapsRequired = 1;
                    tapGesture.numberOfTouchesRequired = 1;
                    [tapGesture addTarget:self action:@selector(tapChangeImage)];

                    [self.profileImageView addGestureRecognizer:tapGesture];
现在添加操作方法:

#pragma tap gestures
-(void)tapChangeImage{
    // Remove view from superview!
}

因此,如果
closeSideTasks:
删除UIImageView,那么当用户点击您想要的位置时调用它。您可能需要设置一个UIApgestureRecognitor,以确定何时发生……在UIImageView下创建一个全屏的transparant按钮,在着陆时调用此功能。确保您记得将按钮与按钮一起卸下view@matt,谢谢,我已更新了我的问题以提供更多信息。@JackWu,谢谢,我已更新了我的问题以提供更多信息。谢谢,我已更新了我的问题以提供更多信息。谢谢,如果用户点击任何位置,使用您的建议会发生什么(行、节标题等)并且UIView*newView未显示?我不确定是否诚实。但我不认为如果“removeFromSuperview”不存在,它将返回异常。您必须尝试一下。这很有效,我已经在调用UIView的方法中包含了您的第一部分,并且它可以按要求工作,非常感谢您。。。