导航损坏 - ViewModel无法关闭?

时间:2013-12-13 12:26:26

标签: xamarin.ios navigation viewmodel mvvmcross

在其他每个地方,导航工作正常,只在这个地方它不起作用(它的设置与所有其他View模型一样)

我正在尝试从ImportView(ImportViewModel)导航到LoginView(LoginViewModel)。 在Buttonclick上(ViewModel中的Binded MvxCommand)我正在调用ShowViewModel<LoginViewModel>();

它的工作但之后整个导航都被打破了。如果我现在从新打开的LoginViewModel移动到示例TestViewModel(或TestView),现在转到“Back”,我不会回到LoginView,而是转到BlackScreen,还有一个“Back”,之后应用程序崩溃...(MonoTouch.Foundation.MonoTouchException: Objective-C exception thrown. Name: NSInvalidArgumentException Reason: Can't add self as subview

这里的问题在哪里?

这里有一些Debuginformations:

[0:] mvx:Warning: 26.41 Don't know how to close this viewmodel - topmost view does not present this viewmodel
[0:] 
2013-12-13 13:19:28.400 INMobileAdminUIiOS[6932:60b] mvx:Diagnostic: 26.81 Showing ViewModel LoginViewModel
[0:] mvx:Diagnostic: 26.81 Showing ViewModel LoginViewModel
[0:] 
2013-12-13 13:19:28.799 INMobileAdminUIiOS[6932:60b] TouchNavigation:Diagnostic: 27.21 Navigate requested
[0:] TouchNavigation:Diagnostic: 27.21 Navigate requested
2013-12-13 13:19:29.085 INMobileAdminUIiOS[6932:60b] nested push animation can result in corrupted navigation bar
[0:] 
2013-12-13 13:19:29.224 INMobileAdminUIiOS[6932:601f] 13.12.2013 13:19:29   TinyMessage: ProgressDialogDismissMessage
[0:] 13.12.2013 13:19:29    TinyMessage: ProgressDialogDismissMessage
2013-12-13 13:19:29.463 INMobileAdminUIiOS[6932:60b] Finishing up a navigation transition in an unexpected state. Navigation Bar subview tree might get corrupted.

2 个答案:

答案 0 :(得分:2)

我解决了这个问题。

我在this.NavigationController.PopToRootViewController(true);

中添加了viewDidAppear

当视图控制器尝试弹出到顶视图控制器而不等待子视图控制器的加载结束时,会出现问题。视图出现后必须调用popToRootViewControllerAnimated()

答案 1 :(得分:-2)

我已经解决了这个问题。

我添加了

this.NavigationController.PopToRootViewController(true); 
viewDidAppear

中的