在我们的应用程序中,我们有一个登录ViewController A
。用户登录时,会自动调用请求导航以导航到下一个ViewController B
。然而,完成后我们想要删除登录ViewController A
从堆栈中,因此用户无法“返回”到登录视图,而是返回到上一个ViewController
而是在登录之前。
我们考虑过删除ViewController A
当从堆栈中ViewController B
已加载,但是有更好的方法吗?
在Android版本的App中我们设置了history=no
(如果我没记错的话)然后它就起作用了。
在 MonoTouch 和 MvvmCross 中是否有类似的方法来实现这一点?
我最终从导航控制器中删除了不需要的视图控制器。在ViewDidDisappear()
我的登录信息ViewController
我做了以下事情:
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);
}
这样我就可以删除不需要的ViewController
当它从视图中删除时。我并不完全相信这是否是正确的方法,但效果相当不错。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)