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

时间:2017-01-11 21:46:28

标签: ios swift uinavigationcontroller backbarbuttonitem

我有两个观点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

1 个答案:

答案 0 :(得分:2)

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