如何在导航控制器堆栈中替换一个视图控制器?

4
我有一个navigationController,我将一个新的viewController推入它的堆栈中,我一直在尝试找到一种方法来从第一个viewController中切换到另一个viewController。
我有3个几乎相同的视图,根据用户交互,我希望能够在同一个堆栈索引中在这些视图之间切换,即不需要在navigationController上推送或弹出视图。
因此,如果视图C在navigationController堆栈上具有索引3,并且用户在视图C中点击某个按钮,则C1视图将替换C并获得索引3。
我已经查看了UINavigation类,但找不到解决方法。如果我从当前viewController中popViewController,然后尝试pushViewController...那么当我弹出它时,viewController会被释放,这是不可能的。如果我尝试做pushViewController,那么它就会被添加在当前viewController之上。
希望我的问题表述清楚,希望有人能帮助我:)
谢谢
1个回答

12
您可以将控制器的NSArray分配给viewControllers属性,以立即更改整个堆栈。

嗨,尼尔 谢谢,我想我可以这样做。有没有办法获取当前堆栈的数组->更改最后一个视图控制器并将其推回导航控制器? - RickiG
看来我没有做足够的研究 :/ 答案在这里: https://dev59.com/nnRC5IYBdhLWcg3wFdJx再次感谢Neil,是你给了我寻找答案的灵感 :) - RickiG

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接