如何在Cocoa中使用CGAffineTransformMakeScale
?在iPhone上,我喜欢这样:
something.transform = CGAffineTransformMakeScale(2, 2);
但我怎么能在MAC上做到这一点?
答案 0 :(得分:2)
CGAffineTransform
,包括所有相关的帮助函数,在Mac OS X和iOS上的工作原理相同。
您需要链接到核心图形或应用程序服务框架,并为您链接的链接导入标题。
NSView没有像UIView那样的transform
属性,因此如果something
在您的示例中是UIView,则必须向您的NSView发送scaleUnitSquareToSize:
消息
答案 1 :(得分:1)
你的问题不清楚。 CGAffineTransformMakeScale
功能在Mac上可用,其工作方式与iOS完全相同。它是Application Services框架的一部分,因此您需要将该框架添加到项目中并使用以下命令导入:
#import <ApplicationServices/ApplicationServices.h>
另一方面,如果你指的是视图转换,那么在Mac上,NSView
对象默认不是图层支持的,并且没有transform
属性。
如果您使视图层支持,那么您可以通过视图的CALayer
属性访问视图的layer
对象,然后您可以对其应用转换:
aView.layer.transform = CATransform3DMakeScale(2.0, 2.0, 0.0);
请注意,iOS和Mac OS X都使用CATransform3D
结构作为其图层转换属性。如果您要将图层转换设置为CGAffineTransform
,则需要使用‑setAffineTransform:
的{{1}}方法。