【问题标题】:Title and rightBarButtonItem dissapear from UINavigationBarUINavigationBar 中的 Title 和 rightBarButtonItem 消失
【发布时间】:2009-07-28 22:27:14
【问题描述】:

我使用UIViewController 在两个不同的地方列出项目。一个地方是它的默认主页,另一个地方是另一个控制器将其推送到导航堆栈以查看项目列表的地方。

这两个地方都允许您通过单击导航栏中的添加按钮来添加新项目。该列表的行为是基于一个名为targetControllerNSObject * 决定的,该targetController 由其调用者设置为其self 引用,否则默认为nil

我遇到了一个问题,如果您让它们同时显示在 tabBar 的单独选项卡中,则导航栏 title/rightBarButtonItem 会在第一个调用的选项卡上消失。我终于发现,每当推送列表的视图导致 navigationItem 被删除时,导航栏正在替换 items 堆栈。

我唯一的解决方案是在按下 tabBar 按钮项时强制弹出列表视图。 有更好的方法吗?

顺便说一句,我选择在 2 个不同的地方使用相同的控制器以避免重复的功能,从而减少代码。

【问题讨论】:

  • 您是否在两个地方都显示了相同的控制器实例?
  • 是的,我使用根标签栏控制器来保存对每个实例的引用,以便延迟加载它们。我想我可以使用不同的实例,但我已经通过使用根标签栏解决了这个问题选择选项卡项时的 popToRoot。

标签: iphone uinavigationbar


【解决方案1】:

我很确定在导航堆栈上弹出和推送视图正是处理切换视图的正确方法,并且如果您完全远离导航,弹出视图可能是保持低内存使用的好方法。只要记住也要释放它们。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2011-04-09
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多