【问题标题】:UINavigationcontroller - Changing the State of a UIViewController on the StackUINavigationcontroller - 更改堆栈上 UIViewController 的状态
【发布时间】:2010-02-06 18:13:11
【问题描述】:

我有一个显示视图控制器 A 的导航控制器。有一个指向视图控制器 B 的右键(标记为“B”)。

现在,当用户对视图控制器 B(由其管理的视图)进行重要更改时,视图控制器 B 的用处就结束了。

从那时起,VC A 应该导致一个新的 VC,viewcontroller C。这就是我想要的行为。但是,因为已经使用指向“B”的右键创建了视图控制器 A,所以我不确定如何让它重新配置自己。我希望它现在有一个标记为“C”的右键按钮,它通向视图控制器 C。

我找不到任何可以解决此类情况的示例代码。要将问题归结为本质,我只需要能够在视图控制器 A 位于导航控制器的堆栈中时重新制作它。

【问题讨论】:

    标签: iphone uiviewcontroller uinavigationcontroller


    【解决方案1】:

    您可以在应用程序委托中存储对控制器 A 的引用,当控制器 B 完成后,更改控制器 A 的导航项,例如 appdelegate.controllerA.navigationItem.rightBarButtonItem = /* a new bar button item to create and push controller C goes here ... */。

    【讨论】:

    • 是的,但这不会使当前导航栏使用新按钮重绘自身。
    • 当然可以,只要您使用UINavigationController 来管理您的视图控制器堆栈(您确实应该这样做)。
    • 好的 MrMage,我有机会尝试一下。它工作得很好。结合另一种技术(弹出视图控制器以摆脱它),它解决了我的问题。非常感谢!
    猜你喜欢
    • 1970-01-01
    • 2017-06-14
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2012-10-29
    • 2013-03-19
    相关资源
    最近更新 更多