我正在编写一个自定义NSView,需要通过在绘制之前应用NSAffineTransformation来为其子视图设置动画。
我正在寻找一种方法来绘制视图的子视图,以便我可以覆盖它 以这样的方式:
-(void)drawSubview:(NSView*)subview {
[[NSGraphicsContext saveGraphicsState];
[[self affineTrasformForSubview: subview] concat];
[subview drawRect: subview.bounds];
[[NSGraphicsContext restoreGraphicsState];
}
有什么建议吗?
答案 0 :(得分:1)
用于旋转:NSView setFrameCenterRotation:angle
用于缩放:NSView scaleUnitSquareToSize:size
除了旋转和缩放之外,你需要让你的视图成为一个图层支持的图层,并且与图层混乱,即使这是针对苹果推荐的。但我不会过分担心,我认为值得一试。