当您在视图外点击时隐藏删除按钮
问题描述:
我有一个删除按钮,当我在表格视图的行上向左滑动时出现。当您在视图外点击时隐藏删除按钮
我希望能够隐藏这个按钮,如果用户点击视图中的任何其他地方。我怎么做?我尝试在所有视图的底部放置一个巨大的按钮,但按钮没有检测到外部的水龙头。
在viewDidLoad
,我添加视图控制器作为目标:
[self.backgroundButton addTarget:self action:@selector(backgroundButtonTapped:) forControlEvents:UIControlEventTouchUpInside];
而在回调我只是有一个消息:
- (IBAction)backgroundButtonTapped:(id)sender {
NSLog(@"BACKGROUND VIEW TOUCHED");
}
但是,当我在一般区域挖掘外,我没有看到该消息。
答
我解决了这个问题如下:
。创建了一个视图TopView从UIView 分类。将我的*视图的课程更改为此课程。 。在我的逻辑适当的地方,存储需要隐藏在顶视图中的子视图
self.view.mySubview = subview;
。在顶视图中覆盖hitTest:withEvent。在这里,我检测的外部外的子视图,并根据需要隐藏子视图。
+0
如果你解决了你的问题,我建议你选择你自己的答案作为接受的答案。 –
+1
嗯..它确实让我接受它 - 所以我做到了 - 谢谢:) – serverman
您的UIButton是否存在一些其他视图背后的可能性? Cud你尝试给你的UITableView和所有其他视图提供不同的bgColor,并检查按钮是否在所有视图之外。 – HRM
谢谢HRM。该视图确实隐藏在包括tableview和collection视图在内的所有子视图之后。我认为这是关键? – serverman
不客气......希望修正问题...... :) – HRM