【发布时间】:2011-02-26 04:22:08
【问题描述】:
我正在开发一个包含一些非矩形 UI 元素的 iPhone 应用程序。目前,我正在继承UIView,在drawRect 中,我使用CGPathRef 来绘制黑色边框和填充颜色的内部。
不过,我想让这些项目看起来更像“按钮”,所以我希望有一些与例如在上面使用的相同类型的“玻璃效果” iPhone 应用程序的图标(当您未将 UIPrerenderedIcon 设置为 true 时)或其他按钮中的图标。
我四处寻找,发现这个,似乎接近我需要的:
Gradients on UIView and UILabels On iPhone
但我很难弄清楚如何将渐变剪裁到我的形状。
视图上的mask 属性似乎是正确的去处,这似乎需要我创建一个新的CALayer 对象,并以某种方式对其应用剪辑。
我希望有一些很好的便利功能可以做到这一点,但如果我需要编写更复杂的东西,那也没关系。我只是很难弄清楚如何将路径应用为蒙版。我不确定是否需要创建一个新的绘图上下文并将路径绘制到其中?然后使用CGContextClip?
我想我已经找到了很多正确的部分,我只是很难理解如何组装它们。
有人可以指出我正确的方向吗? (我很高兴在文档中阅读更多内容,请为我指明正确的方向。)
【问题讨论】:
标签: objective-c iphone uiview calayer clipping