【发布时间】:2017-10-04 18:31:38
【问题描述】:
我正在为 macOS 使用 swift 4,如果我在此视图控制器之外单击,我想关闭视图控制器。
通过这段代码,我可以检查用户是否点击了视图控制器。但是如何检查用户是否在视图控制器外部单击?
override func viewDidAppear() {
let gesture = NSClickGestureRecognizer(target: self, action: #selector(clicked))
gesture.buttonMask = 0x1 // left mouse
gesture.numberOfClicksRequired = 1
self.view.addGestureRecognizer(gesture)
}
@objc func clicked() {
print("Hello world")
}
【问题讨论】:
-
您是指在您的应用窗口内或完全在应用外的不同视图?
-
一个将显示为工作表的视图控制器。如果我在此工作表视图控制器之外单击,我想关闭此工作表视图控制器
-
@PhillipMills 我建议它应该在应用程序内
-
在应用内是的
-
视图控制器不是界面元素,那么“点击外部视图控制器”是什么意思呢?