2

我有两个视图 A 和 B 为了从 A 到 B 我只是在推送新视图,在视图 BI 中执行一些操作来更新导航栏的 UIBarButton 项的 badgeValue。(就像将商品添加到购物车一样)

图片 30

当我使用导航栏后退按钮返回查看 A 时,UIBarButton 项显示前一个标记值,而不是更新的标记值,我猜这是因为当您按下返回按钮时,视图 B 会弹出,显示视图 A,它保持原样没有任何更改,所以我需要一种方法来告诉视图 A 在返回后更新自身。

图 29

如果不是返回查看 AI 而是返回 rootViewController 更新了 badgeValue,我猜当我转到 rootViewController 时,会读取 viewDidLoad 中的代码并更新 badgeValue。

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

编辑

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

4

1 回答 1

3

您可以添加代码以更新viewWillAppear. 这将确保每次视图返回屏幕时都会更新值(而不仅仅是第一次创建它时)。

于 2017-01-11T21:57:45.357 回答