2011-06-25 2 views
0

CGAffineTransformMakeScaleをCocoaでどうやって使うことができますか? iPhoneの場合、私は次のようになります:CGAffineTransformMakeScale cocoa?

something.transform = CGAffineTransformMakeScale(2, 2); 

どうすればMACでそれを行うことができますか?

+0

「何か」とは何ですか? –

+1

あなたはおそらく:[something.layer setAffineTransform:CGAffineTransformMakeScale(2.0、2.0)]; – CraicDesign

答えて

1

あなたの質問は不明です。 CGAffineTransformMakeScale機能はMac上で利用でき、iOSとまったく同じように動作します。あなたが変換を図を参照している一方であれば、Mac上で、

#import <ApplicationServices/ApplicationServices.h> 

、:あなたのプロジェクトにそのフレームワークを追加し、それをインポートする必要がありますので、それは、アプリケーションサービスフレームワークの一部でありますNSViewオブジェクトはデフォルトでレイヤーバックアップされておらず、transformプロパティはありません。

ビュー層担保を作る場合、あなたは、ビューのlayerプロパティを使用してビューのCALayerオブジェクトにアクセスすることができ、あなたがそのに変換を適用することができます両方のiOSこと

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

注意をし、 Mac OS Xでは、レイヤー変換プロパティとしてCATransform3D構造体を使用します。レイヤートランスフォームをCGAffineTransformに設定する場合は、‑setAffineTransform:メソッドをCALayerにする必要があります。すべての関連のヘルパー関数を含む

2

CGAffineTransformは、iOSのようのMac OS X上で同じように動作します。

あなたはコアグラフィックスやアプリケーションサービスフレームワークにリンクすると、あなたはどちらにリンク1のヘッダをインポートする必要があります。

NSViewにはUIViewのようにtransformプロパティがありません。したがって、somethingがUIViewの場合は、NSViewにscaleUnitSquareToSize:メッセージを送信する必要があります。