点击视图外部时隐藏删除按钮

时间:2013-09-30 21:30:51

标签: ios button

我在桌面视图的行上向左滑动时会显示一个删除按钮。

如果用户点击视图中的任何其他位置,我希望能够隐藏此按钮。我怎么做?我尝试在所有视图的底部放置一个巨大的按钮,但按钮没有检测到外面的水龙头。

viewDidLoad中,我将视图控制器添加为目标:

[self.backgroundButton addTarget:self action:@selector(backgroundButtonTapped:) forControlEvents:UIControlEventTouchUpInside];

在回调中我只有一条消息:

- (IBAction)backgroundButtonTapped:(id)sender {
    NSLog(@"BACKGROUND VIEW TOUCHED");
}

但是当我在一般区域外面敲击时,我看不到消息。

1 个答案:

答案 0 :(得分:0)

我解决了以下问题:

。从UIView创建了一个视图TopView子视图 。将我的顶级视图的类更改为此类。 。在我在适当位置的逻辑中,存储了需要隐藏在顶视图中的子视图

self.view.mySubview = subview;

。在顶视图中覆盖hitTest:withEvent。在这里,我检测到子视图的外部,并根据需要隐藏子视图。