我有點困惑。這不是一個破壞者,但我有興趣在一個體面的答案,如果有一個。繪製一個UIButton/UIBarButtonItem來使用父欄的tintColor?
我一直在使用UIButton
與UIBarButtonItem
(作爲酒吧按鈕項customView
)內的自定義子視圖。我的自定義子視圖是而不是 a UILabel
也不是UIImage
,這就是爲什麼我正在做我在做的事情。這個UIBarButtonItem
是我的導航欄上的一個項目,導航欄有一個tintColor
集。我希望UIButton
具有這種圓整的外觀UIBarButtonItemStyleBordered
,這意味着它也應該採用其父欄的tintColor
。
當前的解決方案已經實現了從UIKit中爲UINavigationBarDefaultButton.png
和家族提取png
文件。這看起來很好如果我沒有設置tintColor
屬性;相反,按鈕仍然是「iOS海軍藍」,當我想,比如說,明亮的橙色(不是我使用的顏色,但你得到我的漂移)。這使我陷入了兩難境地:做出UIButton外觀和行爲的最佳方式是什麼UIBarButtonItem
風格,包括對tintColor
財產的影響?我可以在按鈕上設置自己的屬性。這沒什麼大不了的。
我想在CoreGraphics中畫出UIButton
的背景嗎?那裏是否有一個框架/庫已經實現了這一點?如果我夢想着不可能的事,那就告訴我。我並不是那麼擅長CoreGraphics,但它絕對不在可能性範圍之外。
如果這不能做,我知道,我總是可以採取冷靜定製UIView
我試圖欺騙並緊鄰其保存爲圖像(因此使用UIImage
一個UIBarButtonItem
內),但我我想看看這是否可能。
這就是我正在處理的(下面)。後退按鈕看起來很棒,但只是因爲我沒有搞亂它。我希望rightBarButtonItem
能夠使用我設置的我的tintColor
,但爲了使它具有UIBarButtonItemStyleBordered
外觀,並且設置了customView
,我不得不使用png
文件作爲背景。以下是你所看到的,即使tintColor
設置在UIBarButtonItem
(因爲它使用的是png
)。
只需調用'[super tintColor]'。 – 2012-12-14 22:12:34
'[super tintColor]'似乎不起作用;看我的修訂。 –