为UIBarButtonItem更改UIToolbar阴影颜色

时间:2012-10-02 00:52:14

标签: iphone objective-c ios ipad

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

dark instead of light shadow

如何将样式UIBarButtonItem的{​​{1}}上的影子更改为白色?我上传了一个示例项目here

2 个答案:

答案 0 :(得分:0)

  1. UIBarButtonItem Class Reference中,没有提及“shadow”一词
  2. 您使用图像作为阴影,而不是UIColor
  3. 可以在cocoaControls.com
  4. 找到一些源代码示例

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

    <强>了setBackgroundImage:forState:barMetrics:
    设置给定状态和条形度量的背景图像。

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

    适用于UIToolBar

    1. 用于添加自己的自定义阴影look at this StackOverflow post
    2. 使用cocoa预定义函数look at UIToolBar Class Reference
    3. <强> setShadowImage:forToolbarPosition:
      设置用于给定位置的工具栏阴影的图像。

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

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

      (UIImage *)shadowImageForToolbarPosition:(UIToolbarPosition)topOrBottom
      

      我不知道还有什么可说的,UIBarButtonItem没有阴影方法。
      我希望这是自我解释的。

答案 1 :(得分:0)

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