2012-03-01 5 views
0

私は次のセットアップがありますMonotouch.Dialogでポップオーバーサイズを設定するには?

  • 私のコントローラはUINavigationControllerを継承します。
  • それは私のコントローラのContentSizeForViewInPopoverが400に設定されているDialogViewController
  • のメンバーを保持している|ダイアログのView Controllerを開示における要素の400

ワン| 400

  • DialogViewControllerのContentSizeForViewInPopoverも400に設定されていますサブ要素の長いリスト。このリストが定義した400ユニットより長い場合、このリストがナビゲーションコントローラにプッシュされていると、Popoverコントローラの高さが増加します。これは問題ありませんが、前のメニューに戻ると、定義した400単位にサイズが変更されません。

    DialogViewControllerにサイズを変更しないように指示する方法はありますか?

  • 答えて

    0

    MonoTouch.Dialogの特定の用途にコードを表示できますか? TopViewControllerが変更されるたびにUIPopoverControllerが自身のContentSizeを自動ネゴシエートしようとするため、この動作が発生する可能性があります。

    WillShowViewControllerメソッドをオーバーライドし、そこにSizeFを設定することで、表示される各UIViewControllerに対してContentSizeForViewInPopoverを設定する必要があります。

    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(.., ..); 
        } 
    } 
    
    関連する問題