我正在编写一个自定义 NSView,需要在绘制 subview 之前应用 NSAffineTransformation 对其 subview 进行动画处理。
我正在寻找一种绘制 View subview 的方法,以便我可以覆盖它 以这样的方式:
-(void)drawSubview:(NSView*)subview {
[[NSGraphicsContext saveGraphicsState];
[[self affineTrasformForSubview: subview] concat];
[subview drawRect: subview.bounds];
[[NSGraphicsContext restoreGraphicsState];
}
有什么建议吗?
最佳答案
旋转:NSView setFrameCenterRotation:angle
用于缩放:NSView scaleUnitSquareToSize:size
除了旋转和缩放之外,您还需要使您的 View 成为一个支持图层的 View ,并弄乱该图层,即使这违反了苹果的建议。但我不会对此太担心,我认为值得一试。
关于cocoa - 手动绘制NSView的 subview ,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13827321/