第七色在线视频,2021少妇久久久久久久久久,亚洲欧洲精品成人久久av18,亚洲国产精品特色大片观看完整版,孙宇晨将参加特朗普的晚宴

為了賬號(hào)安全,請(qǐng)及時(shí)綁定郵箱和手機(jī)立即綁定
已解決430363個(gè)問(wèn)題,去搜搜看,總會(huì)有你想問(wèn)的

如何從 UIApplication Xamarin.iOS 對(duì) Mvx View 進(jìn)行導(dǎo)航調(diào)用

如何從 UIApplication Xamarin.iOS 對(duì) Mvx View 進(jìn)行導(dǎo)航調(diào)用

C#
幕布斯6054654 2023-05-14 16:13:00
我的目標(biāo)是在空閑超時(shí)后將用戶重定向回登錄屏幕。每次點(diǎn)擊/觸摸后,我都有這段代碼進(jìn)行倒計(jì)時(shí)。它運(yùn)行良好,但我目前的問(wèn)題是我不知道將用戶重定向回登錄屏幕。由于這是 MvvmCross 4.4 項(xiàng)目,因此沒(méi)有太多文檔可供查找。如果我也可以獲得 Android 的示例代碼,那將非常有幫助。我會(huì)感激的。下面是我放在 Main.cs 中的代碼public class Application{      static void Main(string[] args){          //UIApplication.Main(args, null, "AppDelegate");          UIApplication.Main(args, "MyApplication", "AppDelegate");      }  }  //DELEGATE  [Register("MyApplication")]  public class MyApplication : UIApplication {      public override void SendEvent(UIEvent uievent) {          base.SendEvent(uievent);          var allTouches = uievent.AllTouches;          if (allTouches.Count > 0) {              var phase = ((UITouch)allTouches.AnyObject).Phase;              if (phase == UITouchPhase.Began || phase == UITouchPhase.Ended)                  ResetIdleTimer();          }      }      NSTimer idleTimer;      void ResetIdleTimer() {          if (idleTimer != null) {              idleTimer.Invalidate();              idleTimer.Dispose();          }          idleTimer = NSTimer.CreateScheduledTimer(TimeSpan.FromMinutes(0.5), TimerExceeded);      }      void TimerExceeded(NSTimer obj) {          MvxiOSToastService toastService = new MvxiOSToastService();        toastService.DisplayMessageAndDoSomething("You are going to be timed out.","Idle time exceeded.", RedirectToLogin);          Console.WriteLine("idle time exceeded");      }      void RedirectToLogin() {          var window = UIApplication.SharedApplication.KeyWindow;          var vc = window.RootViewController;          //ERROR HERE          var nextVC = new LoginView();           vc.ShowViewController(nextVC, this);          //----------    }  }  
查看完整描述

1 回答

?
幕布斯7119047

TA貢獻(xiàn)1794條經(jīng)驗(yàn) 獲得超8個(gè)贊

您需要解析視圖展示器的實(shí)例并從那里獲取當(dāng)前呈現(xiàn)的視圖。一旦你有了它,你就可以訪問(wèn) ViewModel 對(duì)象并進(jìn)行以下調(diào)用以使用 MvvmCross 導(dǎo)航。


如果您有權(quán)訪問(wèn)RootViewControllerthen


void RedirectToLogin() {  

    var window = UIApplication.SharedApplication.KeyWindow;  

    var vc = window.RootViewController;  


    var mvxView = vc as IMvxIosView;  

    var vm = mvxView.ViewModel;


    vm.ShowViewModel<TViewModel>();

}

MvvmCross 在 5 之前

https://www.mvvmcross.com/documentation/fundamentals/view-presenters


ShowViewModel<TViewModel>()

Mvvm 交叉 5+

解析導(dǎo)航服務(wù)的一個(gè)實(shí)例,并使用它來(lái)對(duì)登錄屏幕進(jìn)行導(dǎo)航調(diào)用。


所以像:


Mvx.Resolve<IMvxNavigationService>().Navigate<LoginViewModel>();


查看完整回答
反對(duì) 回復(fù) 2023-05-14
  • 1 回答
  • 0 關(guān)注
  • 172 瀏覽

添加回答

舉報(bào)

0/150
提交
取消
微信客服

購(gòu)課補(bǔ)貼
聯(lián)系客服咨詢優(yōu)惠詳情

幫助反饋 APP下載

慕課網(wǎng)APP
您的移動(dòng)學(xué)習(xí)伙伴

公眾號(hào)

掃描二維碼
關(guān)注慕課網(wǎng)微信公眾號(hào)