我在桌面视图的行上向左滑动时会显示一个删除按钮。
如果用户点击视图中的任何其他位置,我希望能够隐藏此按钮。我怎么做?我尝试在所有视图的底部放置一个巨大的按钮,但按钮没有检测到外面的水龙头。
在viewDidLoad
中,我将视图控制器添加为目标:
[self.backgroundButton addTarget:self action:@selector(backgroundButtonTapped:) forControlEvents:UIControlEventTouchUpInside];
在回调中我只有一条消息:
- (IBAction)backgroundButtonTapped:(id)sender {
NSLog(@"BACKGROUND VIEW TOUCHED");
}
但是当我在一般区域外面敲击时,我看不到消息。
答案 0 :(得分:0)
我解决了以下问题:
。从UIView创建了一个视图TopView子视图 。将我的顶级视图的类更改为此类。 。在我在适当位置的逻辑中,存储了需要隐藏在顶视图中的子视图
self.view.mySubview = subview;
。在顶视图中覆盖hitTest:withEvent。在这里,我检测到子视图的外部,并根据需要隐藏子视图。