【发布时间】:2013-03-27 18:14:47
【问题描述】:
我在标签栏控制器中有 2 个视图控制器。我的第二个导航控制器想要设置一个徽章值。 应用程序启动时未加载此控制器,因此不显示徽章。如果我转到该选项卡,则徽章已正确更新。
这个 sn-p 在标签的视图控制器加载/重新加载/更新/等时运行...
[self.navigationController.tabBarItem setBadgeValue:[NSString stringWithFormat:@"%u",[self.photos count]]];
这样做是否正确:使用自定义类覆盖导航控制器并将徽章值放入该级别?看来我应该把这些信息放在那里,但我还没有找到明确的答案。
【问题讨论】:
-
您的第二个 View 控制器从哪里获取数据?
self.photos是什么?有什么方法可以从您的第一个视图控制器中获取相同的数据? -
这两个视图控制器真的不应该看到彼此的数据。它们是不同的、独立的应用程序。 self.photos 信息最终来自用户的默认列表,但我似乎一直认为让第一个视图控制器获取它不应该真正知道的数据是“不好的”。
-
这不是严格相关的,但是...您使用的是故事板、xib 还是只是代码?
-
并且......只是为了清楚......你有一个 UITabBarController,有两个项目,每个项目的初始 UIViewController 都嵌入在单独的 UINavigationController 中?
-
是的,它在故事板中,就像你说的那样。 UITabBarController 转到 2 个不同的 UINavigationCollers,每个 UINavigationCollers 都嵌入了视图控制器。
标签: ios uinavigationcontroller uitabbarcontroller uitabbaritem