更改 UIBarButtonItem 的 UIToolbar 阴影颜色

Posted

技术标签:

【中文标题】更改 UIBarButtonItem 的 UIToolbar 阴影颜色【英文标题】:Change UIToolbar Shadow Color For UIBarButtonItem 【发布时间】:2012-10-02 00:52:14 【问题描述】:

我通过更改UIToolbar 的色调及其UIBarButtonItem 子视图的色调来设置UIToolbar 的样式。除了我找不到如何将 各个条形按钮项 的阴影颜色从深色更改为浅色(参见示例,条形按钮项看起来模糊)之外,我可以正常工作:

如何将UIBarButtonItem 样式为UIBarButtonItemStylePlain 的阴影更改为白色?我已经上传了一个示例项目here。

【问题讨论】:

【参考方案1】:

最终的解决方案是将按钮添加为 UIButton 包含在 UIBarButtonItem 中,并在用于 UIButton 图像的 PNG 中包含任何阴影。

【讨论】:

【参考方案2】:
    UIBarButtonItem Class Reference 中只字未提“影子”一词 您使用图像作为阴影,而不是 UIColor 一些源代码示例可以找到@cocoaControls.com

UIBarButtonItem appearance 只能更改 2 张图片和颜色:

setBackgroundImage:forState:barMetrics: 为给定的状态和条形指标设置背景图像。

- (void)setBackgroundImage:(UIImage *)backgroundImage forState:(UIControlState)state barMetrics:(UIBarMetrics)barMetrics

对于UIToolBar

    用于添加您自己的自定义阴影look at this *** post 用于使用可可预定义函数look at UIToolBar Class Reference

setShadowImage:forToolbarPosition: 在给定位置设置用于工具栏阴影的图像。

(void)setShadowImage:(UIImage *)shadowImage forToolbarPosition:(UIToolbarPosition)topOrBottom

shadowImageForToolbarPosition: 返回用于给定位置的工具栏阴影的图像。

(UIImage *)shadowImageForToolbarPosition:(UIToolbarPosition)topOrBottom

我不知道还能说什么,UIBarButtonItem 没有阴影方法。 我希望这是不言自明的。

【讨论】:

这个阴影不适用于 UIToolbar 吗?我想更改 UIBarButtonItem 上的阴影(即 UIToolbar 中包含的视图)。 @KevinSylvestre 看看我的新编辑,你必须创建一个特殊的背景图像作为你的影子,否则请查看 cocoa controls.com 以查看一些源代码 这是否修复了UIBarButtonItem 的阴影?我不知道哪个部分适用于它。

以上是关于更改 UIBarButtonItem 的 UIToolbar 阴影颜色的主要内容,如果未能解决你的问题,请参考以下文章

更改 UIBarButtonItem 后退按钮

在 iOS 8.2 上更改 UIBarButtonItem 的垂直位置

更改 UIBarButtonItem 的 UIToolbar 阴影颜色

无法更改 UIBarButtonItem

UIBarButtonItem 标题更改

更改 UIBarButtonItem 文本字体大小和颜色