gpt4 book ai didi

swift - NSView/NSResponder 智能放大 :

转载 作者:搜寻专家 更新时间:2023-11-01 05:34:39 25 4
gpt4 key购买 nike

我正在尝试实现 smartMagnify:NSView 中,但它从未被调用。我有 rotate:magnify: 等,它们都被成功调用 - 我需要做什么才能收到此消息?我搜索了非常稀疏的文档,找不到没有调用它的原因。

这是我认为与我的代码相关的所有内容...

class FigOSXLayerView: FigOSXLayerViewBase /* NSView subclass */ {
var layerViewController: FigOSXLayerVC?
private var _scale: CGFloat = 1.0

override func draw(_ dirtyRect: NSRect) {
self.properties.showSelectionHighlight = true
self.properties.showAnnotation = true
self.properties.showPoints = true
super.draw(dirtyRect)
}

// ************************
// MARK: Zoom, pan, rotate
// ************************
override func magnify(with event: NSEvent) {
self._scale = 1 + event.magnification
self.layerViewController?.scale(self._scale)
}

override func rotate(with event: NSEvent) {
self.layerViewController?.rotate(CGFloat(event.rotation.toRadians))
}

override func scrollWheel(with event: NSEvent) {
self.layerViewController?.translate(dx: event.deltaX, dy: -event.deltaY)
}

override func smartMagnify(with event: NSEvent) {
Swift.print("Smart magnify") // Not called
}
// ...
}

只是出于迷信,我曾尝试将自己设置为第一响应者,以防万一与此有关,但这没有什么区别。

最佳答案

当您用两根手指双击时会触发此事件。

关于swift - NSView/NSResponder 智能放大 :,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43277127/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com