1

MonoTouch でユニバーサル アプリを作成しています。iPad で実行する場合UISplitViewController、MonoTouch.Dialog を使用してマスター ビュー (左側) でマルチレベル メニューを使用および構築します。

問題は、最初のルート要素に触れると、マスター分割ビュー内ではなく、画面全体をカバーする新しいビューが開くことです。

質問は、次のルート要素が親と同じビュー内で開くようにするにはどうすればよいですか?

私が見つけることができるすべての例には、通常、マスター ビューに 1 つのレベルのメニューがあるため、それをタッチすると詳細ビューに何かが表示されます。

これが理にかなっていることを願っています。

4

2 に答える 2

1

UISplitViewControllerあなたが とあなたの を持っているとしましょうCustomViewController

UISplitViewController split = ...;
CustomViewController controller = ...;

新しいコントローラーを現在の (マスター) コントローラーの上にプッシュする場合は、次を使用します。

var root = new RootElement ();
var dvc = new DialogViewController (UITableViewStyle.Plain, root, true);
dvc.ActivateController (controller);

詳細 (右側) セクションに新しいコントローラーを表示する場合は、次のようなものを使用します。

UISplitViewController split = ...;
var about = new StringElement ("About");
about.Tapped += delegate {
    split.ViewControllers = new UIViewController [] {
        split.ViewControllers [0],
        controller
    };
};
于 2012-10-02T17:54:58.073 に答える
0

それで、マスターのテーブルにタッチイベントで新しいマスタービューを設定したいと思いますか?

私は .dialog に慣れていませんが、私が知っている例を挙げました:

を取り、rootviewcontroller.parentviewcontroller.splitviewcontroller次に入力しますviewcontrollers[0]

var split =(uisplitviewcontroller)rootviewcontroller.parentviewcontroller.splitviewcontroller;
var nav = (uinavigationcontroller)split.viewcontrollers[0];
nav.pushviewcontroller(_yourView_);
于 2012-10-02T12:15:36.253 に答える