3

UINavigationBarのタイトルテキストの色を、アプリが外部アクセサリに接続されているかどうかをユーザーに示すために使用しようとしています。たとえば、接続されていない場合は赤、接続されている場合は緑です。

setTitleTextAttributesメソッドを使用して[self.navigationBarsetNeedsDisplay]を呼び出すことにより、接続ステータスが変更されたときに、UINavigationBarを正しいタイトルテキストの色に更新することに問題はありません。ただし、変更はすぐには反映されません。

また、[[UINavigationBarの外観] setTitleTextAttributes:...]を使用して、将来作成される新しいUINavigationBarが正しい値になるようにします。新しいビューに移動すると、ナビゲーションバーのタイトルが正しい色になります。

更新されたタイトルの色でUINavigationBarをすぐに再描画するにはどうすればよいですか?

4

1 に答える 1

2

私はちょうど同じ問題に遭遇したと思います。これを修正する簡単な方法を次に示します。UINavigationBarこれが標準のバーであると仮定するとUINavigationController、表示されているテキストを再割り当てするだけで済みます。それはあなたのコントローラのtitleプロパティです。トリックは、それを機能させるために値を変更する必要があるということです。

self.navigationController.navigationBar.titleTextAttributes = @{...}

self.title = nil;
self.title = @"##Actual Title##";
于 2013-03-19T22:59:07.737 に答える