我有一个 NSView ,用户可以在其中画圆圈。这些圆存储为 NSBezierPaths 数组,在 drawRect: 中,我循环遍历数组并调用-stroke
每个路径。如何添加一个按钮来放大和缩小 NSView?只是改变视图的边界?
谢谢。
我有一个 NSView ,用户可以在其中画圆圈。这些圆存储为 NSBezierPaths 数组,在 drawRect: 中,我循环遍历数组并调用-stroke
每个路径。如何添加一个按钮来放大和缩小 NSView?只是改变视图的边界?
谢谢。
您可能还会发现以下信息:
https://developer.apple.com/library/content/qa/qa1346/_index.html
该文档中的代码允许您向视图添加“比例”属性。
上述答案不适用于我的场景,但让我找到了解决方案。
@Peter答案的更新链接很有帮助:scaleUnitSquareToSize
我发现了两个缩放的灵魂:
scaleUnitSquareToSize
我创建了一个小型测试项目。这两种解决方案都可以在我的 GitHub 存储库中找到:BoundsAndFramesCroppingAndScalling
要了解边界与框架,请阅读这篇 SO 文章:difference-between-the-frame-and-the-bounds。
快速调用代码:
let scaleSize = NSSize(width: 0.5, height: 0.5)
// 0.5 - Half the size
// 1.0 - No calling
// 2.0 - double the size , ... etc
myView?.scaleUnitSquare(to: scaleSize)
myView?.needsDisplay = true