我想要附图所示的视图,全视图的背景是半透明的,绿框中的视图是透明的。 我尝试了addSubview并设置了子视图的alpha,但它没有用。
答案 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 清除该部分。
参考以下项目来实现这一目标。