答案 0 :(得分:4)
你可以使用touchesBegan
跟踪它:
-(void)touchesBegan:(NSSet<UITouch *> *)touches withEvent:(UIEvent *)event
{
UITouch *touch= [touches anyObject];
if ([touch view] == self.view)
{
// do stuff
}
}
对于swift:
override func touchesBegan(touches: Set<UITouch>, withEvent event: UIEvent?) {
if let touch = touches.first {
if touch.view == self.view {
// do stuff
}
}
super.touchesBegan(touches, withEvent:event)
}
答案 1 :(得分:1)
您可以在自定义视图下添加UIView
覆盖整个屏幕,给它一个0.1左右的alpha。然后,您可以向其添加tapGestureRecognizer
以捕获自定义视图之外的所有触摸。
当您隐藏自定义视图时,请记住隐藏叠加层,以便之后不会阻止触摸。