gpt4 book ai didi

uiviewcontroller - 从堆栈中删除 ViewController

转载 作者:行者123 更新时间:2023-12-01 09:02:43 27 4
gpt4 key购买 nike

在我们的应用程序中,我们有一个登录 ViewController A。在用户登录时,会自动调用请求导航以导航到下一个 ViewController B。但是,当这完成后,我们希望从堆栈中删除登录 ViewController A,这样用户就不能“返回”到登录 View ,而是返回之前的 ViewController 在登录之前。

我们考虑过在加载ViewController B时从堆栈中移除ViewController A,但有没有更好的方法?

在应用程序的 Android 版本中,我们设置了 history=no(如果我没记错的话),然后它就可以工作了。

在 MonoTouch 和 MvvmCross 中是否有类似的方法来实现这一点?

最佳答案

我最终从导航 Controller 中删除了不需要的 View Controller 。在我的登录 ViewControllerViewDidDisappear() 中,我执行了以下操作:

public override void ViewDidDisappear (bool animated)
{
if (this.NavigationController != null) {
var controllers = this.NavigationController.ViewControllers;
var newcontrollers = new UIViewController[controllers.Length - 1];
int index = 0;
foreach (var item in controllers) {
if (item != this) {
newcontrollers [index] = item;
index++;
}

}
this.NavigationController.ViewControllers = newcontrollers;
}
base.ViewDidDisappear(animated);
}

这样,当从 View 中删除不需要的 ViewController 时,我会删除它。我不完全相信它是否是正确的方法,但它的效果相当好。

关于uiviewcontroller - 从堆栈中删除 ViewController,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13934748/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com