我使用UIAppearance定製的UIBarButtonItem所有與主類:使用UIAppearance定製的UIBarButtonItem子類,但不是
[[UIBarButtonItem appearance] setTintColor:[UIColor purpleColor]];
除了顏色選擇不當,它的偉大工程。
現在,我想要一些具有特定風格的按鈕。所以我創建了一個新班級,我們稱之爲YellowDoneBarButtonItem
。
我想自定義過,所以我補充一下:
[[YellowDoneBarButtonItem appearance] setTintColor:[UIColor yellowColor]];
不幸的是,... appearance] setTintColor:
勝,和所有的按鈕,子類,或者不是最後一次通話,採用最後指定的顏色。
我不能使用appearanceWhenContainedIn:
,因爲有時候,我可能在同一個導航欄中有兩種不同的按鈕樣式。
有沒有辦法使用UIAppearance
比更有選擇性嗎??
的醫生說:
在任何給定的視圖層次結構,最外層的外觀代理獲勝。特殊性(鏈條的深度)是決勝因素。換句話說,appearanceWhenContainedIn中的包含語句被視爲部分排序。給定一個具體的順序(實際的子視圖層次結構),當從窗口向下讀取實際層次結構時,UIKit選擇第一個唯一匹配的部分順序。
任何把這個事實屈從於這裏需要什麼的技巧?
它似乎是實例化的實際按鈕是UINavigationButton,它是UIButton的(私有)子類。這可能解釋了爲什麼UIBarButtonItem外觀子類是一個全面的。 –
有趣的。你應該將它作爲答案發布(如果你有這些答案,請提供更多詳細信息),以便我可以接受你的答案。 – Guillaume
那裏 - 爲我的回答添加了一個小的附加細節:) –