私はこれを数時間よく熟考しましたが、無駄です。 120秒間何も操作がない場合はいつでも、起動画面に戻す方法をiPadアプリに追加しようとしています。クラスを継承するUIApplication内からのナビゲーション
私はXamarinとIOSプログラミングの両方に非常に新しいので、私が間違った角度からこれに近づいている場合は謝ります。 私はこのタイマーが正常に動作します。この
[Register("ElectronicReceptionMain")]
public class ElectronicReceptionMain : UIApplication
{
public override void SendEvent(UIEvent uievent)
{
Debug.WriteLine("SendEvent");
var allTouches = uievent.AllTouches;
if(allTouches.Count > 0)
{
ResetIdleTimer();
}
base.SendEvent(uievent);
}
NSTimer idleTimer;
void ResetIdleTimer()
{
idleTimer = NSTimer.CreateScheduledTimer(TimeSpan.FromSeconds(120), RefreshScreen);
}
void RefreshScreen(NSTimer obj)
{
Debug.WriteLine("Elapsed");
UIStoryboard StoryBoard = UIStoryboard.FromName("Main", null);
ViewController uvc = StoryBoard.InstantiateViewController("StartScreenController") as ViewController;
SharedApplication.KeyWindow.RootViewController.NavigationController.PushViewController(uvc, true);
}
}
のように見えるクラスを作成している、(デバッグメッセージは必ずプリントアウト)。しかし、NavigationControllerをnull以外のものにすることはできません。明らかにnull参照例外が発生します。
私も
uvc.NavigationController.PushViewController(uvc, true);
同じ問題を試してみました。私はストーリーボードにナビゲーションコントローラを持っていて、あるUIViewから別のUIViewに行くときに画面間のナビゲーションがうまくいっています。
私は一度に私のコード1行を通じて強化していると、それは間違いなくヌル
任意の助けをいただければ幸いですNaviagtionControllerです。
ありがとうございました!
はどうもありがとうございました! – Numli