0

注意:使用Monotouch並以編程方式完成所有UI。UIModalPresentationPageSheet位置?還是UIPopover?

大家好,

我有一個問題。

我有這個主要的UIViewController對象,我有2個UIVIews裏面。這些視圖將在某些設備中執行命令等。我打算做一些菜單,從左側出現滑塊效果,如下圖所示。在這個菜單中,用戶將選擇一些按鈕,這將改變另外兩個UIViews。

我的問題是:

我打算使用模式視圖控制器爲UIModalPresentationPageSheet,但它怎麼能出現在屏幕horizo​​ntaly的中心。我想把它放在左邊的中心。我該如何改變它?

如果不可能,我應該使用UIPopover嗎?

圖像下方

enter image description here

謝謝。

Lyniker

回答

1

我不認爲要麼會得到你想要的動畫效果。一般來說,我會選擇使用的UIView動畫視圖滑動:

if(IsDrawerVisible == false) { 
    UIView.Animate(0.5,() => { 

     DrawerView.Frame = new RectangleF(
      this.View.Bounds.Left + 300, 
      DrawerView.Frame.Y, 
      DrawerView.Frame.Width, 
      DrawerView.Frame.Height); 

    }, UIViewAnimationOptions.CurveEaseIn); 
} 
else { 
    // Move the frame of the DrawerView by subtracting from Frame.X 
} 

當然,你需要一個參考點(通常是父母的UIView的左側邊界),並做相應的計算移動的「抽屜」成分進入視野。這可以是任意的,雖然:-)

注:如果DrawerView是類型的UIViewController/DialogViewController的使用新的iOS 5個自定義遏制API或你會得到一些嚴重的靠不住的行爲。看到我的博客文章在子視圖控制器在這裏:

http://blog.devnos.com/wont-somebody-please-think-of-the-children

+0

Tks!有效。 – 2012-01-20 12:34:57