2017-06-03 11 views
2

OK。私は実際にどのようにこれを行うのか見ていない。 「あなたはここからそこに行くことができない」という問題かもしれません。または "聖なる#@ $!それはそれが木の茂ったと撮影の後ろに取られるべきそんな嫌なハックです!"。More ViewControllerテーブルのタブバー項目を動的に更新する

私は、タブ状態の変更に応じて、選択したページのタブバー画像を動的に更新する、タブ付きSwift 3 iOSアプリケーションを持っています。

私はこのようなの並べ替えを行います。

if let navController = self.navigationController as? MyNavController { 
    navController.tabBarItem.image = navController.tabBarImage 
    navController.tabBarItem.selectedImage = navController.tabBarImage 
} 

tabBarImageは、実際に計算されたプロパティです。このスニペットは、状態が変化したときに更新されるUIコールバック内で呼び出されます。

これは素晴らしいです。

MoreViewControllerのときは、それほど大きくありません。これらの画像は、私が何をしても、頑固に静止しています。

私はMoreViewControllerのいくつかの調査を行っています。私はtableViewとセルに着くことができますが、App ReviewのBlue Meaniesが私のアプリを森の中に連れてこられるようなハックのようなにおいがします。

これを行う適切な方法はありますか?

答えて

0

OK。私はそれを行う方法を考え出した。

ナビゲーションコントローラのパスに沿ってクロールバックしていました。より多くのスペースにないアイテムにはうまくいきました。

私の代わりに、タブバーコントローラから前方にクロールすることによってそれを固定:

self.tabBarController?.viewControllers?[MySelectionIndex].tabBarItem.image = self.tabBarImage 
self.tabBarController?.viewControllers?[MySelectionIndex].tabBarItem.selectedImage = self.tabBarImage 
1

通知を使用して、ディクショナリ内のイメージを通知オブジェクトとして渡すことができます。次に、一度に異なるキー値で別のtabBarImageを取得できます。

+0

感謝を!通知はどこに送信しますか? MoreTabBarController? –

+1

MoreTabBarControllerだけでなく、どこからでも通知を送信できます。各コントローラから通知を受け取ることができるので、その通知にオブザーバが追加されます。 – LNT

関連する問題