0


再次遇到我的自定義導航和工具欄的問題: 我已經使用didFinishLaunchingWithOptions中的外觀代理自定義了他們的tintColor和字體。最初通過將其中心設置在viewDidLoad的可見區域之外來隱藏條。通過單擊我使用我自己的動畫來滑動輸入/輸出。
一切都工作得很好,直到下一個步驟:
我希望UIBarButtonItems具有相同的字體像我在酒吧裏用,所以我又回到didFinishLaunchingWithOptions,並添加以下代碼:更改UIBarButtonItem的外觀也會改變導航欄和工具欄的位置?

[[UIBarButtonItem appearance] setTitleTextAttributes:[NSDictionary dictionaryWithObjectsAndKeys: 
[UIFont fontWithName:FONT_HEADER size:0.0],UITextAttributeFont,nil] forState:UIControlStateNormal]; 

它的工作原理對於字體部分來說很好,但不知怎的,它也會在viewWillAppear之前將這些條設置回可見位置,因此條不會再隱藏起來。我試圖找出導致這種無意義重新定位的原因,並找不到任何連接。我也嘗試在viewWillAppear之後的某個時間點重新設置位置,但這對於工具欄不起作用。

編輯:所描述的行爲只發生在具有iOS 5的設備上。在iOS6模擬器上,一切看起來都很好。

有沒有人有暗示我這裏出了什麼問題,或者我該如何順利解決這個問題? 在此先感謝

回答

0
[[UIBarButtonItem appearance] setTitleTextAttributes:[NSDictionary dictionaryWithObjectsAndKeys: 
[UIFont fontWithName:FONT_HEADER size:0.0],UITextAttributeFont,nil] forState:UIControlStateNormal]; 

什麼是FONT_HEADER在這裏?你有沒有檢查ios 5是否支持這種字體?

+0

FONT_HEADER只是一個帶有字體名稱的已定義的宏。在此期間,我嘗試了一些事情,結果發現,使用size:0.0會給我帶來麻煩。將它設置爲字體大小!= 0.0就可以了。 – codingPanda