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的方法中包含了您的第一部分,并且它可以按要求工作,非常感谢您。。。