我正在开发一个包含一些非矩形UI元素的iPhone应用程序。目前,我正在对UIView
进行子类化,在drawRect
中,我使用CGPathRef
来绘制黑色边框和彩色填充的内部。
我想让这些项目看起来更像“按钮”,所以我希望有一些相同的“玻璃效果”,例如在iPhone应用程序的图标上(当你没有将UIPrerenderedIcon
设置为true时),或者在其他按钮中使用。
我四处寻找,发现了这个,看起来很接近我需要的:
Gradients on UIView and UILabels On iPhone
但我很难弄清楚如何将渐变修剪成我的形状。
视图上的mask
属性似乎是正确的地方,它似乎会要求我创建一个新的CALayer
对象,并以某种方式对其应用裁剪。
我希望有一些很好的方便函数来做这件事,但是如果我需要写一些更复杂的东西,也没问题。我只是很难弄清楚如何将路径作为掩码应用。我不确定是否需要创建一个新的绘图上下文并在其中绘制路径?然后使用CGContextClip
我想我已经弄清楚了很多正确的部件,只是我很难理解如何组装它们。
有人能给我指个方向吗?(我很高兴在文档中阅读更多,请给我指出正确的方向。)
发布于 2010-09-29 00:34:01
您可以创建CAShapeLayer并将其路径设置为您的CGPathRef。然后将掩码属性设置为您的shapeLayer。
https://stackoverflow.com/questions/2947004
复制相似问题