点击后,我试图隐藏一个视图。为了做到这一点,我使用touchesBegan来检测视图是否被点击以及是否被点击,它应该执行诸如隐藏视图和顶部视图的操作。定义了以下两个视图:
@IBOutlet weak var theDarkView: UIView!
@IBOutlet weak var theFinalView: UIView!
这是我想到的代码。
override func touchesBegan(_ touches: Set<UITouch>, with event: UIEvent?) {
//-- hides the view whenever its touched
if let touch = touches.first {
if touch.view == self.theDarkView {
if theDarkView.isHidden == false || theFinalView.isHidden == false {
theDarkView.isHidden = true
theFinalView.isHidden = true
}
} else {
return
}
}
}
如果您可以帮助我,并向我显示正确的方法,并告诉我在哪里弄乱了我的方法,将不胜感激!
最佳答案
您的代码没问题,这也可以完成相同的工作
override func touchesBegan(_ touches: Set<UITouch>, with event: UIEvent?) {
theDarkView.isHidden = touches.first?.view == self.theDarkView
theFinalView.isHidden = theDarkView.isHidden
}