如何突出显示iOS工具栏等图标

时间:2011-03-21 02:25:27

标签: iphone ios icons core-graphics uitabbar

我想使用一些我也用于iOS Tab Bar的图像创建一些自定义工具栏。如何在Tab栏上突出显示Apple所做的图标?

2 个答案:

答案 0 :(得分:3)

请注意,我没有亲自这样做,但如果我有需要和时间,我就会这样做。

UIToolBar似乎使用3层实现了效果:

  1. 最底层是带有黑灰色阴影的圆角矩形
  2. 第二层是蓝色渐变渐变
  3. 最顶层是用户提供的图像,其中仅使用了Alpha通道。
  4. 底部和第二层都可以使用[UIImage stretchableImageWithLeftCapWidth::]制作适合任意尺寸的预渲染图像。

    要将最顶层的Alpha通道应用于第二层,请使用混合模式为UIContextDrawImage的{​​{1}}将最顶层绘制到第二层图像上。然后将结果合成到最底层图像的顶部,你应该有类似kCGBlendModeSourceIn渲染的内容。

答案 1 :(得分:1)

查看您可能想要创建实例的UIButton reference,然后使用;

- (void)setImage:(UIImage *)image forState:(UIControlState)state

UIControlState有这些可能值的地方;

  • UIControlStateNormal
  • UIControlStateHighlighted
  • UIControlStateDisabled
  • UIControlStateSelected
  • UIControlStateApplication
  • UIControlStateReserved

还有一个属性showsTouchWhenHighlighted,默认情况下为NO,但在点按时会在按钮周围闪烁。