我有一个NSView用户能够在其中绘制的圈子。这些圈子里被储存作为一系列NSBezierPaths,并在drawRect:我的循环过阵列,并呼 -stroke 在每个道路。我怎么添加一个按钮来放大和缩小的NSView?只是改变边界的看法?

谢谢。

有帮助吗?

解决方案

其他提示

您可能还会发现这个信息:

https://developer.apple.com/library/content /qa/qa1346/_index.html

这文件中的代码,您可以添加一个“刻度”属性的图。

上面的答案并不适合我的场景,但让我找到了解决方案。

@Peter 的答案的更新链接很有帮助: 缩放单位正方形到大小

我找到了两种缩放的方法:

  1. 手动裁剪边界
  2. 缩放边界 scaleUnitSquareToSize

我创建了一个小型测试项目。这两种解决方案都可以在我的 GitHub 存储库中找到: 边界和框架裁剪和缩放

要了解边界与框架,请阅读这篇文章: 框架与边界之间的差异.

快速缩放代码:

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
许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top