2011-06-25 35 views
0

如何在可可中使用CGAffineTransformMakeScale?在iPhone上我喜歡這樣的:CGAffineTransformMakeScale可可?

something.transform = CGAffineTransformMakeScale(2, 2); 

但我怎麼能在MAC上做到這一點?

+0

什麼是「東西」? –

+1

您可能想要:[something.layer setAffineTransform:CGAffineTransformMakeScale(2.0,2.0)]; – CraicDesign

回答

1

你的問題還不清楚。 Mac上有CGAffineTransformMakeScale功能,它的工作方式與iOS上的完全相同。它是應用服務框架的一部分,所以你需要的是框架添加到您的項目,並導入:

#import <ApplicationServices/ApplicationServices.h> 

如果在另一方面你指的視圖變換,然後在Mac上, NSView對象默認沒有分層支持,並且沒有transform屬性。

如果使視圖層支持的,那麼你可以通過視圖的layer屬性訪問視圖的CALayer對象,那麼你可以申請一個變換到:

aView.layer.transform = CATransform3DMakeScale(2.0, 2.0, 0.0); 

注意,iOS和Mac OS X爲其圖層轉換屬性使用CATransform3D結構。如果要將圖層轉換設置爲CGAffineTransform,則需要使用CALayer‑setAffineTransform:方法。

2

CGAffineTransform,包括所有相關的幫助函數,在Mac OS X上與iOS上的相同。

您確實需要鏈接核心圖形或應用程序服務框架,並導入您鏈接的任何一個標頭。

NSView沒有像UIView那樣的transform屬性,所以如果something是您的示例中的UIView,您將不得不發送您的NSView scaleUnitSquareToSize:消息。