2

A から B に移動するために、A と B の 2 つのビューがあります。新しいビューをプッシュしているだけです。ビュー BI では、ナビゲーション バーの UIBarButton アイテムの BadgeValue を更新するいくつかのアクションを実行します。(ショッピングカートに商品を追加するようなもの)

写真30

ナビゲーションバーの [戻る] ボタンを使用してビュー A に戻ると、UIBarButton アイテムには、更新されたものではなく、前の BadgeValue が表示されます。これは、戻るボタンを押すとビュー 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 に答える