在iOS上使用Xamarin Studio和MvvmCross NuGet版本4.2.2,MvxModalSupporttouchVIEwPresenter,MvxModalNavSupporttouchVIEwPresenter或IMvxModaltouchVIEw都不可用.
viewmodel甚至需要知道特定视图在iOS上作为模态视图呈现的事实吗?
解决方法 MvvmCross是一个强大的页面导航框架.使用Showviewmodel< Aviewmodel>的默认导航将使用堆栈隐喻:在 Android上一个在另一个上面,在iOS上相互滑动,并使用<在任何一个平台上回去. 您可以通过采用IMvxModaliosVIEw以接口标记的形式给出一个提示,告诉VIEwPresenter给定视图是模态的. 在视图级别 采用IMvxModaliosVIEw协议:public partial class AVIEw : MvxVIEwController,IMvxModaliosVIEw
在AppDelegate级别
将var setup = new Setup(this,Window)替换为:
var presenter = new MvxModalSupportIosVIEwPresenter(this,Window);var setup = new Setup(this,presenter);setup.Initialize();
在viewmodel级别
无需更改. viewmodel实际上没有意识到模态表示.调用:
Showviewmodel<Aviewmodel> // May be modal on certain platforms
要关闭页面并返回上一页,无论您的演示文稿样式如何,请在该viewmodel上使用Close(this).这将关闭模态对话框,或d出推送视图.完整的,可绑定的ICommand可能如下所示:
public ICommand BackCommand { get { return new MvxCommand(() => Close(this)); }}
注意:在MvvmCross 4.2.2中,touch已重命名为iOS,因此IMvxModaltouchVIEw现在是IMvxModaliosVIEw.新的使用是:
>使用MvvmCross.iOS.Platform;>使用MvvmCross.iOS.VIEws.Presenters;
总结以上是内存溢出为你收集整理的xamarin – 如何在MvvmCross中呈现iOS模态视图全部内容,希望文章能够帮你解决xamarin – 如何在MvvmCross中呈现iOS模态视图所遇到的程序开发问题。
如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)