按下导航栏中的后退按钮并弹出视图B后更新视图B后面的视图A.

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了按下导航栏中的后退按钮并弹出视图B后更新视图B后面的视图A.相关的知识,希望对你有一定的参考价值。

我有两个视图A和B,以便从A到B我只是推动新视图,在视图B中我执行一些操作来更新导航栏的UIBarButton项目的badgeValue。 (比如将商品添加到购物车)

picture 30

当我使用navigationBar Back按钮返回查看A时,UIBarButton项目显示上一个badgeValue,而不是更新的那个,我想这会发生,因为当您按下后退按钮时,视图B会弹出显示视图A,它保留原样没有任何改变,我需要一种方法告诉视图A在返回后更新自己。

picture 29

如果不返回查看A我返回rootViewController更新了badgeValue,我想当我转到rootViewController时,将读取viewDidLoad中的代码并更新badgeValue。

有关如何更新刚刚弹出的另一个视图的任何想法?

编辑

@silicon_valley的答案是正确的,但它不适用于MikeMTOL的库,因为它有问题,对于Swift用户我会推荐这些扩展。 - > link

答案

您可以添加代码以更新viewWillAppear中的徽章值。这将确保每次视图返回到屏幕时(而不仅仅是第一次创建时)更新值。

以上是关于按下导航栏中的后退按钮并弹出视图B后更新视图B后面的视图A.的主要内容,如果未能解决你的问题,请参考以下文章

按下视图控制器后删除“返回”按钮

在导航栏中按下后退按钮时刷新 RootViewController 的内容

导航后不要破坏视图

xCode导航后退按钮不弹出详细视图

如何在导航栏中添加右键?

添加NavigationController不会显示后退按钮