我有点进退两难。这不是一个交易破坏者,但如果有一个像样的答案,我很感兴趣。
我一直在使用 aUIButton
和 a 内的自定义子视图UIBarButtonItem
(作为条形按钮项的customView
)。我的自定义子视图不是aUILabel
也不是 a UIImage
,这就是我正在做我正在做的事情的原因。这UIBarButtonItem
是我导航栏上的一个项目,导航栏tintColor
有一套。我希望UIButton
具有 的圆角矩形外观UIBarButtonItemStyleBordered
,这意味着它也应该采用tintColor
其父栏的 。
当前的解决方案已经实现了png
从 UIKit for UINavigationBarDefaultButton.png
and family 中提取文件。如果我不设置属性,这看起来会很棒;tintColor
相反,当我想要亮橙色(不是我使用的颜色,但你明白我的意思)时,按钮仍然是“iOS 海军蓝”。这让我陷入了两难境地:让 UIButton 看起来和表现得像那种UIBarButtonItem
风格的最佳方法是什么,包括继承tintColor
属性?我可以自己在按钮上设置该属性;这没什么大不了的。
我想UIButton
在 CoreGraphics 中绘制它的背景吗?是否有一个框架/库已经实现了这个?如果我在做不可能的梦,请告诉我。我对手工完成 CoreGraphics 还不是很厉害,但它绝对不在可能的范围之外。
如果无法做到这一点,我知道我总是可以采用UIView
我试图修改的很酷的自定义并将其保存为图像(因此UIImage
在 a 内部使用UIBarButtonItem
),但我想看看这是否是可能的。
这就是我正在处理的(下)。后退按钮看起来很棒,但这只是因为我没有弄乱它。我希望它rightBarButtonItem
使用我tintColor
设置的,但是为了给它UIBarButtonItemStyleBordered
一个集合的外观customView
,我不得不让按钮使用png
文件作为它的背景。下面是您所看到的,即使tintColor
设置在UIBarButtonItem
(因为它使用 a png
)。