羽化NSView不透明度

时间:2011-11-13 16:00:17

标签: iphone objective-c cocoa drawing nsview

我希望有一个NSView,它的一面渐渐变为0.0f的alpha值。这样做的最佳做法是什么?此效果类似于在Photoshop或Pixelmator中羽化选区。

3 个答案:

答案 0 :(得分:2)

为您的视图提供支持商店图层(请查看NSView wantsLayerlayer属性)。制作CAGradientLayer并设置其后备存储层的掩码。

答案 1 :(得分:1)

执行此操作的最基本方法是绘制渐变,并在视图drawRect:中调用CGContextClipToMask()以使用渐变图像作为蒙版。

答案 2 :(得分:0)

制作一个从透明开始淡出的.png图像,淡出到你希望NSView淡出的颜色。

然后添加一个覆盖所有NSView的图像元素,并显示您之前创建的.png图像。

应该这样做。