0
私は再起動せずにUI設定を更新する設定マネージャを作成しました。ほとんどの設定では、再描画を強制することはできますが、タブバーの方が制限されているようです。Swift:Refresh Tab Bar背景色が動的に
私は設定変更通知(注:これはいつでもviewDidLoad
後にすることができる):受信したときに、次のと私のUITabBarController
内タブバーを更新
self.tabBar.backgroundColor = tabBarBackgroundColour
をこれが色を更新するだけで、約5後にん-10秒。
私は、タブバーとビューの両方でsetNeedsLayout
とsetNeedsDisplay
を使用して更新を強制するさまざまな方法を試しましたが、いずれも機能しませんでした。
self.tabBar.setNeedsLayout()
self.tabBar.setNeedsDisplay()
または
self.view.setNeedsLayout()
self.view.setNeedsDisplay()
私は他の人が画像を更新する際に同様の問題があったが、無駄にしている見るように私はまた、個々のタブバーの項目を更新しようとしました。
あなたは本当にメインスレッドから色を更新していますか?バックグラウンドスレッドからUIを更新すると、描画が遅れることがあることを思い出します... – JohnnyAW