如何在单个函数调用中处理视图的连续推送/弹出
Posted
技术标签:
【中文标题】如何在单个函数调用中处理视图的连续推送/弹出【英文标题】:How to do handle consecutive pushing/popping of View in a single function call 【发布时间】:2013-01-16 09:16:13 【问题描述】:问题看起来很疯狂,但我遇到了一个问题,我想像这样实施。考虑我目前有一个视图(A)显示,在一种情况下我想弹出视图并显示其他视图,例如(ViewB)而不是 ViewA,所以我所做的是我在 ViewA 类中编写了一个函数来像这样弹出...
[self.navigationController popViewControllerAnimated:YES];
在我正在推送新视图的函数调用旁边,现在应用程序正在崩溃说..嵌套推送可能会损坏您的导航控制器......
我在这里做错了什么...我们不能立即弹出并推送...如何处理这种情况..
谢谢。
【问题讨论】:
发布一些代码,上面的东西.. 如果你想立即弹出并推送,只需设置 popViewControllerAnimated:NO ...或者等到动画结束... @GuoLuchuan 我试过没有动画,但现在在我设置标签文本的 viewwillappear 方法中崩溃了。 @Newbee 试试 viewDidAppear 【参考方案1】:您可以尝试以模态方式呈现您的观点并忽略它。但是,如果您想使用 push 和 pop 来执行此操作,则可以执行以下操作: 在您的视图 A 中弹出视图并设置一些可以在前一个视图控制器中访问的标志(即视图 A 被推送的视图)。 接下来在前一个视图的 viewWillAppear 中检查这个标志并推送视图 B。
希望这会有所帮助。
【讨论】:
类基只弹出A并推B。为什么我需要flag? 你不想每次在基类中调用 viewWillAppear 时都推 B,对吧?【参考方案2】:如果你想立即弹出和推送,只需设置 popViewControllerAnimated:NO – 郭陆川
【讨论】:
以上是关于如何在单个函数调用中处理视图的连续推送/弹出的主要内容,如果未能解决你的问题,请参考以下文章