【问题标题】:Navigating to a specific view from appdelegate using xamarin.ios and mvvmcross使用 xamarin.ios 和 mvvmcross 从 appdelegate 导航到特定视图
【发布时间】:2019-01-27 19:25:34
【问题描述】:

我正在使用 xamarin 和 MVVMcross 开发跨平台应用程序。

当应用程序在后台运行特定时间时,我想导航到登录页面。 我成功地在 android 中实现了相同的功能,但无法在 ios 中找到适合使用 MVVMCross 的解决方案。

下面是我正在运行的 Android 代码

Intent 意图 = new Intent(this, typeof(LoginView)); var viewModelRequest = new MvxViewModelRequest(typeof(Core.ViewModels.LoginViewModel));

                var serializer = new MvvmCross.Core.Parse.StringDictionary.MvxViewModelRequestCustomTextSerializer();
                intent.PutExtra("MvxLaunchData", serializer.SerializeObject(viewModelRequest));
                StartActivity(intent);

我需要在 ios 中实现相同的功能。我知道我需要在 Appdelegate 的 WillEnterForeground 方法中编写类似的代码,但无法在任何地方找到合适的解决方案。 WillEnterForeground 是执行此操作的正确位置吗?

有人可以帮忙吗

【问题讨论】:

    标签: xamarin.ios mvvmcross appdelegate


    【解决方案1】:

    我能领先一步

            var view = (IMvxIosView)UIStoryboard.FromName("Tasks", null).InstantiateViewController("LoginView");            
            var viewController = view.CreateViewControllerFor(viewModelRequest) as UIViewController;
            Window.RootViewController = new UINavigationController(viewController);
            Window.MakeKeyAndVisible();
    

    现在,当应用再次进入前台时,我可以进入登录屏幕。 但是当我单击登录按钮时,什么也没有发生。 只是为了了解更多信息,我正在使用 Storyboards 并在我的 Setup 类中重写了 MvxIosSetup 的 CreateIosViewsContainer 方法。

    由于我对 ios 开发比较陌生,请提供帮助?

    【讨论】:

    • 您是否创建了登录按钮的出口?然后,在 ViewDidLoad LoginBtn.TouchUpInSide = (obj) => { your code}
    猜你喜欢
    • 2016-06-11
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多