将透明视图添加到半透明视图中

时间:2013-06-04 04:15:06

标签: ios zxing

我想要附图所示的视图,全视图的背景是半透明的,绿框中的视图是透明的。 我尝试了addSubview并设置了子视图的alpha,但它没有用。

enter image description here

3 个答案:

答案 0 :(得分:3)

您可以覆盖drawRect方法。用半透明的方式填充,然后用透明的颜色填充透明部分:

- (void)drawRect:(CGRect)rect {
    // fill it all with translucent
    [yourTranslucentUIColor setFill];
    UIRectFill( rect );


    CGRect yourMiddleHoleRect = CGRectMake(* calculate your rect here);

    [[UIColor clearColor] setFill];
    UIRectFill( yourMiddleHoleRect );
}

我认为这会比其他选项更清晰。

如果你愿意,你甚至可以在这里画出那些绿色框架指示器。

答案 1 :(得分:0)

我认为实现这一目标的唯一方法是在透明视图周围添加4个半透明视图。

答案 2 :(得分:0)

首先,您必须通过 CGContextDrawImage 在背景视图上添加半透明视图。 然后使用 CGContextSetBlendMode 清除该部分。

参考以下项目来实现这一目标。

https://github.com/akopanev/iOS-Scratch-n-See