我想在其他视图上使用UIView应用饱和blendMode,如下所示:
:示例
我的ViewController视图中有一个UILabel和UIImageView,还有一个覆盖drawRect
方法的BlendView。
- (void) drawRect:(CGRect)area
{
CGContextRef context = UIGraphicsGetCurrentContext();
CGContextSaveGState(context);
[[UIColor whiteColor] setFill];
CGContextSetBlendMode(context, kCGBlendModeSaturation);
CGContextFillRect(context, self.bounds);
CGContextRestoreGState(context);
}
但是,如果给出kCGBlendModeSaturation
,我只有一个黑色方块,如果kCGBlendModeMultiply
给出,我只有一个白色方块 - 未应用blendmode。
我已将BlendView设置为不透明并使用不同的alpha值进行测试,无需更改。
P.S。:我希望将blendmode应用于任何视图,而不仅仅是图像。
答案 0 :(得分:1)
您无法将混合模式应用于单个视图,并希望它对下面的视图产生任何影响,就像使用Photoshop中的图层一样(您可以在两个单独的视图之间进行合成)改变他们的不透明度)。
您唯一能做的就是,在单个视图的drawRect
上,使用特定的填充模式绘制上一个绘图说明。