0

我正在编写一个自定义 NSView,它需要在绘制子视图之前应用 NSAffineTransformation 为其子视图设置动画。

我正在寻找一种方法来绘制视图的子视图,以便我可以以这样的方式覆盖它:

-(void)drawSubview:(NSView*)subview {
    [[NSGraphicsContext saveGraphicsState];
    [[self affineTrasformForSubview: subview] concat];
    [subview drawRect: subview.bounds];
    [[NSGraphicsContext restoreGraphicsState];
}

有什么建议么?

4

1 回答 1

1

旋转:NSView setFrameCenterRotation:angle

用于缩放: NSView scaleUnitSquareToSize:size

除了旋转和缩放之外,您还需要使您的视图成为一个支持图层并弄乱该图层,即使这违反了苹果的建议。但我不会太担心这一点,我认为值得一试。

于 2015-05-07T11:01:00.953 回答