【发布时间】:2016-11-04 15:18:47
【问题描述】:
第一个 vc(视图控制器)有一个按钮,当我按下它时,我必须转到嵌入标签栏控制器的第二个 vc。请检查附加图像。
在按钮单击事件中,我像这样调用标签栏:-
TabBarVC *vc=[self.storyboard instantiateViewControllerWithIdentifier:@"TabBarVC"];
[self.navigationController pushViewController:vc animated:YES];
现在,当我按下它时,它会根据需要转到标签栏,但会显示消息:- “在意外状态下完成导航转换。导航栏子视图树可能已损坏。”
现在,当我单击后退按钮应用程序崩溃并显示此错误消息时:-
由于未捕获的异常“NSInvalidArgumentException”而终止应用程序,原因:“无法将自身添加为子视图”
可能的解决方案 :- 这可能是因为我调用了嵌入在 secondvc 上的 tabbar 控制器... 我这样设置动画是到否:-
[self.navigationController pushViewController:vc animated:NO];
所以现在应用程序没有崩溃,但是当我按下后退按钮时,它应该转到 firstvc,但它再次转到标签栏控制器(相同的视图控制器)。如果我在后退按钮中单击 2 次,它会根据需要转到 firstvc。任何建议我如何消除此导航堆栈问题。
【问题讨论】:
-
什么是 TabBarVC 的超类?
-
我在第二个视图控制器中嵌入了标签栏控制器。
标签: ios objective-c iphone uinavigationcontroller uitabbarcontroller