Bja*_*rke 3 stack uiviewcontroller xamarin.ios mvvmcross
在我们的应用程序中,我们有一个登录ViewController A.在用户登录时,会自动调用请求导航以导航到下一个ViewController B.然而,当这样做,我们要删除的登录ViewController A从堆栈,使用户不能"回头"的登录观点,但追溯到以前的ViewController前登录代替.
我们考虑过ViewController A在ViewController B加载时从堆栈中删除它,但是有更好的方法吗?
在我们设置的Android版本的应用程序history=no(如果我没记错),然后它的工作原理.
是否有类似的方法在MonoTouch和MvvmCross中实现这一目标?
我最终从导航控制器中删除了不需要的viewcontroller.在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);
}
Run Code Online (Sandbox Code Playgroud)
这样我ViewController就可以从视图中删除不需要的东西.我不完全相信它是否是正确的方式,但它的工作相当不错.
| 归档时间: |
|
| 查看次数: |
5647 次 |
| 最近记录: |