ios - Xamarin iOS,点击后退按钮弹出多个 View Controller

标签 ios iphone xamarin.ios

如果你有四个 View Controller
A B C D
根导航 Controller 指向 A。在 View Controller A、B 和 C 上,有一个按钮可以将您导航到右侧。这样应用程序的流程是
root -> A -> B -> C -> D
有没有办法让 View Controller 上的后退按钮 D可以弹出 2 个 View Controller 并带我回到 View Controller B ?

最佳答案

是的,你可以这样做。

从 Stack 中找出要弹出到的 View Controller 。然后使用 PopToViewController 弹回到那个 View Controller 。

在 D View Controller 的后退按钮处理程序上编写以下代码:

 this.NavigationItem.SetLeftBarButtonItem (new UIBarButtonItem(
UIImage.FromFile("back.png"), UIBarButtonItemStyle.Plain, (sender, args) => {
     var vwControllers = this.NavigationController.ViewControllers;
            foreach(UIViewController vc in vwControllers) {
                if (vc.GetType () == typeof (B)) {
                    this.NavigationController.PopToViewController (vc);
                }
}), true);

关于ios - Xamarin iOS,点击后退按钮弹出多个 View Controller ,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/42498911/

相关文章:

iphone - Facebook Feed 对话框不断请求许可

ios - 在 Xamarin 中更改 UITextField borderColor

c# - Xamarin.Forms iOS依赖服务中的触觉反馈崩溃

ios - 我可以使用 AVAudioRecorder 将录音流发送到服务器吗?

ios - 我可以从 CloudKit 接收与 CKQuery 对应的记录数吗?

iphone - ASIHttpRequest 的编码问题

iphone - CGContextClipToMask 在内部是如何工作的?

c# - 在 Xamarin iOS 上使用按钮更改占位符文本

ios - 将应用程序提交到应用程序商店之前,如何处理潜在错误 'throws'?

ios - 如何在TableViewController上给TableView添加约束?