我想在 NSView 子类上做一些简单的转换,以在 X 轴、Y 轴或两者上翻转它。我是一位经验丰富的 iOS 开发人员,但我只是不知道如何在 macOS 中执行此操作。我已经创建了一个具有所需翻译和比例的 NSAffineTransform,但无法确定如何将其实际应用于 NSView。我能找到的唯一可以接受任何类型转换的属性是[[NSView layer] transform]
,但这需要 CATransform3D。
我唯一的成功是使用转换来翻转图像,如果是 NSImageView,通过调用lockFocus
一个新的 empty NSImage
,创建转换,然后在锁定的图像内绘制未翻转的图像。然而,这远不能令人满意,因为它不处理任何子视图,并且可能比直接将转换应用于NSView
/成本更高NSImageView
。