2013-10-04 47 views
2

我需要我的UISlider,在Monotouch iPad應用程序中是垂直的,而不是水平的。
這是如何在Monotouch中完成的?如何在Xamarin的monotouch中將UISlder從水平改爲垂直?

對於iOS,其他地方#2的解決方案是這樣的iOS中:

- (void)viewDidLoad { 

    [super viewDidLoad]; 

    CGAffineTransform trans = CGAffineTransformMakeRotation(M_PI * 0.5); 
    slider.transform = trans; 
} 

所以,在我的MonoTouch的.cs C#文件,我這樣做:

using MonoTouch.CoreGraphics; 
public override void ViewDidLoad() 
{ 
    //... 
    CGAffineTransform trans = CGAffineTransformMakeRotation(M_PI * 0.5); 
    power_slider.transform = trans; 
} 

...但Xamarin編譯器不知道CGAffineTransformMakeRotation並且這不在Xamarin.iOS API

回答

0

這裏是我的解決方案,它的偉大工程:使用系統

;使用MonoTouch.Foundation的 ;使用MonoTouch.UIKit的 ;使用MonoTouch.CoreGraphics的 ; CGAffineTransform transform = CGAffineTransform.MakeRotation((float)(Math.PI * 1.5));方法CGAffineTransform轉換= CGAffineTransform.MakeRotation((float)(Math.PI * 1.5)); ultrasound_power_slider.Transform = transform; ultrasound_gain_slider.Transform = transform;

0

CGAffineTransform.MakeRotationMonoTouch.CoreGraphics中定義。

因此增加

using MonoTouch.CoreGraphics; 

將會使你的代碼編譯。

  • 提示1:類名以CG開始,這是CoreGraphics簡寫。
  • 提示2:在Xamarin.Studio中,如果您知道某個類型但未定義它,請鍵入它,然後輸入ctrl-alt-space。它會擴大搜索基地,所有引用的程序集(VS在using指令列出的組件)
+0

Monotouch無法識別CGAffineTransformMakeRotation。它不在Xamarin網絡iOS API搜索中...... AH,HAH:語法是CGAffineTransform.MakeRotation()! –

+0

是的,就是這樣。這是CGAffineTransform的靜態函數。 –