我有一个NSView,用户可以在里面画圆。这些圆被存储为一个NSBezierPaths数组,在drawRect:中,我遍历该数组并在每个路径上调用-stroke。如何添加按钮来放大和缩小NSView?只是改变视图的边界?
谢谢。
发布于 2010-03-15 09:43:03
发送你的视图a scaleUnitSquareToSize: message。
发布于 2010-03-15 09:48:37
您可能还会发现以下内容很有用:
https://developer.apple.com/library/content/qa/qa1346/_index.html
该文档中的代码允许您向视图中添加“缩放”属性。
发布于 2018-03-30 18:23:55
上面的答案对我的场景不起作用,但我找到了一个解决方案。
@Peter的答案的更新链接很有帮助:scaleUnitSquareToSize
我找到了两个缩放的解决方案:
用scaleUnitSquareToSize裁剪manually
我已经创建了一个小的测试项目。这两种解决方案都可以在我的GitHub存储库中找到:BoundsAndFramesCroppingAndScalling
要理解边界与帧,请阅读SO文章:difference-between-the-frame-and-the-bounds。
Swift缩放代码:
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 = truehttps://stackoverflow.com/questions/2444587
复制相似问题