0

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

这两个地方都允许您通过单击导航栏中的添加按钮来添加新项目。列表的行为是根据NSObject *调用targetController者为其self引用设置的调用决定的,否则nil默认情况下。

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

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

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

4

1 回答 1

0

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

于 2009-07-29T02:16:52.660 回答