我有一个非常复杂的故事板。第一部分是基于导航控制器,用于注册,重置密码,设置帐户等操作。
当用户超过设置时,故事板会引入并且标签栏控制器用于应用程序的一般用法。我使用徽章告诉用户他们有新消息。
所有这些都运行良好,但我有工作流程,用户可以在其中更改帐户设置,并在显示标签栏之前将其划分为其中一个视图。保存设置后,它会回到标签栏部分。
当用户返回应用程序的标签栏部分时,徽章停止工作。我假设这是因为标签栏未在视图上实现,因此与它的连接丢失。
我制作了一个伪故事板图片来帮助解释这个问题。用户第一次通过此流程时徽章正常工作(图像中的小红圈)。如果它们留在标签栏部分,则徽章继续有效。当他们从带有红色圆圈的视图开始到视图,然后通过标签栏返回时,徽章将停止工作。
有没有办法重置这个,以便当用户回到标签栏部分时就像他们第一次进来一样?
答案 0 :(得分:0)
我通过在第一次使用/出现时将我的标签栏设置为变量,然后在变量而不是控制器上设置标记来找到解决方案。这种方式通过流程第二次仍然有效。
var rememberTabBar: UITabBarController?
然后
rememberTabBar = tabBarController
和
rememberTabBar?.tabBar.items![1].badgeValue = "!";