2014-11-14 63 views
1

我想用其它视图一个UIView申请饱和的BlendMode,像这样:iOS的7/8目标C - 适用的BlendMode到的意见

Example BlendMode :例

我有一个UILabel和的UIImageView在我的ViewController视图中,加上一个覆盖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应用于任何视图,而不仅仅是图像。

回答

1

您不能将混合模式应用于单个视图,并希望它对下面的视图有任何影响,就像您在Photoshop中使用图层一样(您可以在两个单独视图之间进行的唯一合成会更改它们不透明度)。

您可以做的唯一的事情是,在单个视图的drawRect上,使用特定的填充模式绘制先前的绘图说明。

+0

谢谢您的回复,我认为这样做也是不可能的,但对此不确定。 但是,是否可以覆盖ViewController的'.view'并重写它的'drawRect'方法并应用blendmode?如果是,那又如何? – Tot 2014-11-14 16:23:51