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

问题描述 投票:1回答:1

我有两个视图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

ios swift uinavigationcontroller backbarbuttonitem
1个回答
2
投票

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

© www.soinside.com 2019 - 2024. All rights reserved.