xamarin.ios – 如何在MvvmCross中指定要作为模态推送的视图?

xamarin.ios – 如何在MvvmCross中指定要作为模态推送的视图?,第1张

概述我在使用MvvmCross框架的MonoTouch应用程序中有一个视图,我想要显示Modal(NavigationController.PresentModalViewController). MvvmCross的前提是所有ViewModel都只是“普通页面” – 所以在iOS / MonoTouch中,这意味着使用UINavigationController呈现UIViewControllers 我在使用MvvmCross框架的Monotouch应用程序中有一个视图,我想要显示Modal(NavigationController.PresentModalVIEwController).解决方法 MvvmCross的前提是所有viewmodel都只是“普通页面” – 所以在iOS / Monotouch中,这意味着使用UINavigationController呈现UIVIEwControllers.

要摆脱这个前提 – 朝向选项卡式显示,模态显示,分割控制器,d出窗口等 – 然后您可以调整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构建不同的演示者.

幸运的是,对于简单的Modal支持,可用的标准演示者之一是MvxModalSupportTouchViewPresenter.cs

此演示者查看所呈现的视图是否具有IMvxModaltouchVIEw标记接口 – 它的测试视图是IMvxModaltouchVIEw.如果存在此接口,则它使用视图的模态表示而不是“正常导航”.

要使用它,请将AppDelegate代码更改为:

public overrIDe bool FinishedLaunching(UIApplication app,NSDictionary options)    {        window = new UIWindow(UIScreen.MainScreen.Bounds);        // initialize app for single screen iPhone display        var presenter = new MvxModalSupporttouchVIEwPresenter(this,window);        var setup = new Setup(this,presenter);        setup.Initialize();        // start the app        var start = this.GetService<IMvxStartNavigation>();        start.Start();        window.MakeKeyAndVisible();        return true;    }

然后将标记界面添加到模态视图中:

public class MyVIEw : MvxBindingtouchVIEwController<Myviewmodel>,IMvxModaltouchVIEw {      // .... }
总结

以上是内存溢出为你收集整理的xamarin.ios – 如何在MvvmCross中指定要作为模态推送的视图?全部内容,希望文章能够帮你解决xamarin.ios – 如何在MvvmCross中指定要作为模态推送的视图?所遇到的程序开发问题。

如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/web/1056081.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-05-25
下一篇 2022-05-25

发表评论

登录后才能评论

评论列表(0条)

保存