C# 如何检查当前viewcontroller是否被推送或显示
我是Xamarin的新手。我已经搜索了很多,以了解我的ViewController是否被推送或显示。因此,我将相应地弹出或关闭它,但失败。您可以使用下面的方法C# 如何检查当前viewcontroller是否被推送或显示,c#,xamarin.ios,C#,Xamarin.ios,我是Xamarin的新手。我已经搜索了很多,以了解我的ViewController是否被推送或显示。因此,我将相应地弹出或关闭它,但失败。您可以使用下面的方法 private static UIViewController GetController() { var vc = UIApplication.SharedApplication.KeyWindow.RootViewController; while (vc.PresentedViewController != nul
private static UIViewController GetController()
{
var vc = UIApplication.SharedApplication.KeyWindow.RootViewController;
while (vc.PresentedViewController != null && vc.PresentedViewController.ToString().Contains("Xamarin_Forms_Platform_iOS_ModalWrapper"))
vc = vc.PresentedViewController;
return vc;
}
如果它的返回值不为null,则意味着您在堆栈中有当前控制器您可以在下面的方法中使用
private static UIViewController GetController()
{
var vc = UIApplication.SharedApplication.KeyWindow.RootViewController;
while (vc.PresentedViewController != null && vc.PresentedViewController.ToString().Contains("Xamarin_Forms_Platform_iOS_ModalWrapper"))
vc = vc.PresentedViewController;
return vc;
}
如果返回值不为null,则表示堆栈中有当前控制器您只需检查当前viewcontroller是否存在于导航堆栈中 解决方案
您只需检查当前viewcontroller是否存在于导航堆栈中 解决方案