2013-03-11 55 views
2

我想爲我的導航控制器的標題UINavigationBar添加一個字符符號(例如空格字符,後面跟着一個項目符號「•」)。根據我的應用程序的狀態,我想改變子彈的前景色。以編程方式更改導航欄標題:添加符號並更改其顏色

我想過使用屬性字符串來改變顏色。 但是,我沒有找到直接訪問標題併爲其分配屬性字符串的方法。

你會推薦什麼解決方案將字符符號添加到UINavigationBar並能夠更改其顏色?

謝謝!

回答

9

如果您的視圖控制器包含一個導航控制器內,就足以置title屬性:

[email protected]"Something •"; 

Xcode和NSString的完全UTF-8兼容,以便把子彈就在這樣的字符串很好。

如果您試圖單獨操縱導航欄標題,則必須經過一些環節才能找到它。如果您知道它是根視圖控制器,那麼您可以執行下列操作:

UIWindow *keyWindow = [[UIApplication sharedApplication] keyWindow]; 
UINavigationController *navCtrl = (UINavigationController*)[keyWindow rootViewController]; 
UINavigationItem *topItem = [navCtrl topItem]; 
topItem.title = @"Something •"; 
+0

如何獨立於主標題文本更改項目符號的顏色?謝謝! – AlexR 2013-03-11 21:01:57

+0

在這種情況下,您不能使用title屬性,因爲它只接受NSString,而不接受NSAttributedString。你必須使用你自己的UILabel,使導航欄的titleView使用它,並設置標籤的屬性文字屬性(僅適用於ios6和更高版本) – jsd 2013-03-11 21:05:17