2010-06-01 87 views
2

我正在研究具有一些非矩形UI元素的iPhone應用程序。目前,我正在進行子類化UIView,並在drawRect我使用CGPathRef繪製黑色邊框和彩色內飾。如何在我自己的UIViews上創建「玻璃」效果?

但是,我想讓這些項目看起來更像「按鈕」,所以我想要使用一些與例如「玻璃效果」相同的「玻璃效果」。 iPhone應用程序的圖標(當您未將UIPrerenderedIcon設置爲true時)或其他按鈕中。

我找遍四周,發現這一點,這似乎是接近我所需要的:

Gradients on UIView and UILabels On iPhone

但我有困難,搞清楚如何梯度夾到我的形狀。

看起來像視圖上的mask屬性將是正確的地方去,這似乎是它會要求我創建一個新的CALayer對象,與剪輯以某種方式應用於它。

我希望這樣做有一些很好的便利功能,但如果我需要寫些更復雜的東西,那也沒關係。我只是很難弄清楚如何將路徑作爲掩碼。我不確定是否需要創建新的繪圖環境並繪製路徑。然後用CGContextClip

我想我已經有很多正確的東西了,我只是很難理解如何組裝它們。

難道有人請指點我正確的方向嗎? (我很樂意閱讀文檔中的更多內容,請指出正確的方向。)

回答

0

您可以創建CAShapeLayer並將其路徑設置爲CGPathRef。然後將CAGradientLayer的mask屬性設置爲您的shapeLayer。

+0

我最近一直在做iPhone開發,但我會嘗試在某個時候給這個鏡頭,讓你知道結果。謝謝! – lindes 2010-12-09 07:58:37