2011-04-13 27 views
2

我是新來的MonoTouch,任何人可以回答什麼,我需要做的就是訪問使用CGAffineTransformScale方法在C#。我添加了結構(使用MonoTouch.CoreGraphics;)但我仍然無法使用該方法。感謝您的任何嘗試CGAffineTransformScale在MonoTouch的

回答

7

通常,創建類或結構的新實例的ObjC函數在MonoTouch中打包爲這些類或結構類型的方法static。如果這些函數在已存在的對象實例上執行操作,則它們被封裝爲實例方法。

因此,例如,在ObjC CGAffineTransformScale功能被包裝爲CGAffineTransform結構的實例方法:

CGAffineTransform transform = CGAffineTransform.MakeIdentity(); 
transform.Scale(1f, 1f); 

一個簡單的方法來找出是哪種情況,當你閱讀蘋果文檔上的功能是這樣的:如果該函數將第一個參數作爲它將要修改的對象的一個​​實例接受,它很可能會作爲實例方法包裝在MonoTouch中。如果不是,它將作爲靜態方法進行打包。至少在大多數情況下。

如果你想使用它的一個UIView
+1

+1爲標準單聲道轉換的一個偉大的描述。一個(也許不是那麼)微妙的區別是,ObjC'CGAffineTransformScale' [返回一個新的實例](https://developer.apple.com/library/mac/#documentation/graphicsimaging/reference/CGAffineTransform/Reference/reference。 html),而MonoTouch'instance.Scale()'修改了這個實例。 – cod3monk3y 2012-09-20 20:24:30

2

UIView view = new UIView 

view.Transform = CGAffineTransform.MakeScale(1f,1f);