2014-11-14 77 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