【问题标题】:How to highlight icons like the iOS toolbar如何突出显示 iOS 工具栏等图标
【发布时间】:2011-03-21 14:59:06
【问题描述】:

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

【问题讨论】:

    标签: iphone ios icons core-graphics uitabbar


    【解决方案1】:

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

    UIToolBar好像是用3层实现的效果:

    1. 最底层是带有黑灰色底纹的圆角矩形
    2. 第二层是蓝色高光渐变
    3. 最顶层是用户提供的图像,其中仅使用 Alpha 通道。

    底部和第二层都可以是使用[UIImage stretchableImageWithLeftCapWidth::] 制作的适合任意尺寸的预渲染图像。

    要将最顶层的 Alpha 通道应用到第二层,请使用 UIContextDrawImage 将最顶层的图像绘制到第二层的图像上,混合模式为 kCGBlendModeSourceIn。然后将结果合成到最底层图像的顶部,您应该会得到类似于 UIToolBar 呈现的内容。

    【讨论】:

    • 谢谢,这正是我正在寻找的信息。当然,我希望有人能给我一些代码,但希望你提供的线索足以让我弄清楚。
    【解决方案2】:

    看看UIButton reference,您可能会想创建一个实例然后使用;

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

    UIControlState 有这些可能的值;

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

    还有属性showsTouchWhenHighlighted,默认为NO,但在点击时会在按钮周围发光。

    【讨论】:

      猜你喜欢
      • 2011-06-20
      • 1970-01-01
      • 2012-03-05
      • 2014-04-21
      • 2018-01-01
      • 2022-01-10
      • 1970-01-01
      • 1970-01-01
      • 2015-03-31
      相关资源
      最近更新 更多