私は、Monal(NavigationController.PresentModalViewController)と表示したいMvvmCrossフレームワークを使用してMonoTouchアプリケーションでビューを持っています。MvvmCrossでモーダルとしてプッシュされるビューを指定するにはどうすればよいですか?
4
A
答えて
7
MvvmCrossは、すべてのViewModelが単に「通常のページ」であることを前提としています。つまり、iOS/MonoTouchではUINavigationControllerを使用して提示されたUIViewControllerを意味します。
このプレゼンテーションから、タブ付きディスプレイ、モーダルディスプレイ、スプリットコントローラ、ポップアップなどに移動するには、MonoTouchアプリケーション内のPresenterロジックを調整します。
発表者の仕事は、実装することです:
public interface IMvxTouchViewPresenter
{
void Show(MvxShowViewModelRequest view);
void Close(IMvxViewModel viewModel);
void CloseModalViewController();
void ClearBackStack();
bool PresentModalViewController(UIViewController controller, bool animated);
void NativeModalViewControllerDisappearedOnItsOwn();
}
アプリの使用プレゼンターは、AppDelegateの建設に選択されている - 例えばTwitterSearchがiPhoneとiPad用に異なるプレゼンターを構築する方法を参照してください。
幸い、簡単なモーダル支援のために、利用可能な標準のプレゼンターの1はこのプレゼンターが提示されているビューはIMvxModalTouchView
マーカーインターフェイスを持っているかどうかを確認しますMvxModalSupportTouchViewPresenter.cs
である - それはview is IMvxModalTouchView
をテストします。このインタフェースが存在する場合、「通常のナビゲーション」ではなく、ビューのモーダル表示が使用されます。これを使用するには
、何かにあなたのAppDelegateのコードを変更:
public class MyView : MvxBindingTouchViewController<MyViewModel>, IMvxModalTouchView
{
// ....
}
関連する問題
- 1. build.gradleでアンドロイドアプリにサポートされているアーキテクチャを指定するにはどうすればよいですか?
- 2. Androidでピンチズームされているビューを特定するにはどうすればよいですか?
- 3. UIWebViewでhtmlリンクを使用してビューをスタックにプッシュするにはどうすればよいですか?
- 4. 場所を指定してジェネリックを指定するにはどうすればよいですか?
- 5. NServiceBus.Host.exeでエンドポイントクラスを指定するにはどうすればよいですか?
- 6. Phoenix.ConnTestでフォーマットを指定するにはどうすればよいですか?
- 7. itunesconnectでデバイスを指定するにはどうすればよいですか?
- 8. VBAで列を指定するにはどうすればよいですか?
- 9. バワーオーバーライドでバージョンを指定するにはどうすればよいですか?
- 10. 文字列で指定されたフィールドを設定するにはどうすればよいですか?
- 11. 特定のインデックスで指定された列を合計するにはどうすればよいですか?
- 12. モーダルが複数回描画されないようにするにはどうすればよいですか?
- 13. コントロールにスマートタグを指定するにはどうすればよいですか?
- 14. 指定したJIDがすでにサーバーに接続されているかどうかを確認するにはどうすればよいですか?
- 15. モデルがクリアされていない場合、ビューでget_absolute_url()をどのように指定するのですか?
- 16. クランフォーマットファイルを指定するにはどうすればよいですか?
- 17. 最大ダウンロードサイズを指定するにはどうすればよいですか?
- 18. ブラウザアクションのホットキーを指定するにはどうすればよいですか?
- 19. コマンドライン引数を指定するにはどうすればよいですか?
- 20. Pythonでクラスメソッドをコールバックターゲットとして指定するにはどうすればよいですか?
- 21. Mongooseで有効なプロパティキーとして番号を指定するにはどうすればよいですか?
- 22. コードビハインド内からXAMLで指定されたDataContextにアクセスするにはどうすればよいですか?
- 23. TabNavigatorボタンをリアクションナビでモーダル画面にプッシュするにはどうすればいいですか
- 24. CordovaでBootstrapモーダルを閉じるにはどうすればよいですか?
- 25. BottomSheetDialogFragmentを非モーダルにするにはどうすればよいですか?
- 26. 継承されたクラスのコンストラクタ定義を指定するにはどうすればよいですか?
- 27. 文字列にELで指定された値が含まれているかどうかをテストするにはどうすればよいですか?
- 28. 選択したビューのサーバーをリンクサーバーとして設定するにはどうすればよいですか?
- 29. 指定された値を超えるデータを表示するにはどうすればよいですか?
- 30. knockout.jsとWPFのようにVue.jsでバインディングコンテキストを指定するにはどうすればいいですか
ニース1スチュアート:
は、その後、あなたのモーダルビュー(複数可)にマーカーインターフェイスを追加します。途中で素晴らしいフレームワーク。これは大きなプロジェクトを支えています。 – Kevin
クール - チャットに関するご質問がある場合は、http://jabbr.net/#/rooms/mvvmcrossで見つけてください。そうでなければ、SOは完璧です – Stuart
また、妥当なサイズのiPhone/iPadアプリの場合、ある時点で自分のプレゼンター、特にiPadを書くことになってしまう。 – Stuart