2013-09-21 72 views
5

指定我成立UIBarButtonItem標題字體通過appearance代理中的AppDelegate:的UIBarButtonItem在按下後改變字體,在外觀代理

[[UIBarButtonItem appearance] setTitleTextAttributes:[NSDictionary dictionaryWithObjectsAndKeys: 
                 [UIFont fontWithName:@"Segoe Print" size: 14.0], UITextAttributeFont, 
                 DEF_TITLE_COLOR,UITextAttributeTextColor, 
                 [UIColor colorWithRed:100/255 green:128/255 blue:43/255 alpha:0.4], UITextAttributeTextShadowColor, 
                 [NSValue valueWithUIOffset:UIOffsetMake(0, 1)], UITextAttributeTextShadowOffset, nil] 
              forState:UIControlStateNormal&UIControlStateHighlighted&UIControlStateDisabled]; 

而在這之後,我在一些地方我的應用程序的調用presentViewController::。欄按鈕被示爲具有適當的字體和背景圖像,這是我在此視圖控制器設置(不通過外觀):

enter image description here

但是,當我按下「加入」按鈕,標準的非定製的UIAlertView中被示出,並在它出現在屏幕上後,我barButton字體更改爲...標準?顏色也看起來像色調。我不知道我做錯了,試過的東西負荷弄明白:

enter image description here

此錯誤僅出現在iOS7。

+0

@ user2277872這沒有幫助。有同樣的問題。當我試圖用'|'分隔狀態時,如null所暗示的,代理根本不工作,甚至不會爲正常狀態更改字體。 – kokoko

回答

1

嗯,我認爲外觀代理不工作,因爲我的預期。我在UIBarButtonItem初始化的地方之前複製粘貼的定製方法,並且它作爲魅力工作。

+0

相同 - 幫助。我已經將該UIBarButtonItem與故事板連接起來。所以我試着用[[UIBarButtonItem alloc] init]重新啓動按鈕並手動設置歸因於它(而不是使用故事板中的那些)。工作,但奇怪,我認爲這是蘋果的錯誤。 – pedrouan

+0

那裏有一個雷達https://github.com/lionheart/openradar-mirror/issues/15652 – karmel

-1

這可以在IOS 7的情況下工作:

viewDidLoad方法:

[self.navigationController.navigationBar setBarTintColor:[UIColor whiteColor]];

並設置字體屬性爲好。

+0

此屬性僅更改backButtons上的「<」符號的顏色。我已經在應用程序初始化中使用它。 – kokoko

相關問題