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

时间:2014-02-06 21:46:36

标签: ios uiimageview

我的应用显示UIView,其中包含四个UIButtons,其中一个删除UIView,但我还需要删除UIView,包括所有包含按钮当用户点击它之外。 这是我使用按钮操作删除UIView的方法:

-(IBAction)closeSideTasks: (id)sender
{
    UIView * backgroundView = (UIView *)[self.view viewWithTag:7];
    [backgroundView removeFromSuperview];
}

欢迎任何帮助或建议。

更多信息:

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

2 个答案:

答案 0 :(得分:1)

结帐UITapGestureRecognizer

示例:

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!
}

答案 1 :(得分:0)

放一个大按钮,全屏,没有图形,没有文字和清晰的背景。有其行动也删除背景