2012-03-01 68 views
0

我有以下設置:如何在Monotouch.Dialog中設置彈出窗口大小?

  • 我控制器繼承UINavigationController
  • 它擁有的DialogViewController成員
  • 我的控制器的ContentSizeForViewInPopover設置爲400 | 400
  • 的DialogViewController的ContentSizeForViewInPopover也被設置爲400 | 400

一個在對話框視圖控制器公開的元件的一大串子元素。如果此列表長度超過我定義的400個單位,則如果此列表在導航控制器上按下,則彈出窗口控制器的高度將會增加。這很好,但是如果我回到上一個菜單,大小將不會調整到我定義的400個單位。

有沒有辦法告訴DialogViewController不改變尺寸?

回答

0

你可以顯示你的特定用法的MonoTouch.Dialog的代碼?您可能會看到此行爲,因爲每次TopViewController更改時... UIPopoverController將嘗試自動協商其自己的ContentSize。

應設置ContentSizeForViewInPopover每個UIViewController中被重寫WillShowViewController方法和設置的SizeF有呈現。

public class NavDelegate : UINavigationControllerDelegate 
{ 
    public NavDelegate() 
     : base() 
    { 
    } 

    public override void WillShowViewController(UINavigationController navigationController, UIViewController viewController, bool animated) 
    { 
     base.WillShowViewController(navigationController, viewController, animated); 

     viewController.ContentSizeForViewInPopover = new SizeF(.., ..); 
    } 
} 
相關問題