【发布时间】:2020-03-19 02:49:50
【问题描述】:
我正在尝试记录用户在 2018 MacBook 触控板上执行的触摸和手指动作。
当我尝试测试 API 并在用户触摸触控板时打印到控制台时,我看不到任何输出。
如何监听触摸事件并从中获取数据?
我提到了handling Trackpad events documentation。页面的处理多点触控事件部分说:
默认情况下视图不接受触摸事件。要处理触摸事件,您的自定义视图必须首先调用 NSView 方法
setAcceptsTouchEvents:,并带有 YES 参数。
但是,setAcceptsTouchEvents documentation 表示该方法已弃用。
当我尝试仅打印检测触摸的日志以测试 API 是否正常工作时,我看不到任何控制台输出。这是我的代码:
import Cocoa
class ViewController: NSViewController {
override func viewDidLoad() {
super.viewDidLoad()
// Do any additional setup after loading the view.
}
override var representedObject: Any? {
didSet {
// Update the view, if already loaded.
}
}
override func touchesBegan(with event: NSEvent) {
print("touched!");
}
}
如何让控制台语句打印一些东西?
【问题讨论】:
-
来自 NSView.h:
@property BOOL acceptsTouchEvents NS_DEPRECATED_MAC(10_6, 10_12_2, "Use allowedTouchTypes instead"); -
请阅读代码所需的 Markdown;您的所有代码块格式不正确,并且未显示您要包含的完整代码。
标签: swift macos gesture trackpad multitouch-keyboard