我想要一个像附图一样的视图,整个视图的背景是半透明的,绿框里的视图是透明的。我尝试了 addSubview 并设置了 subview 的 alpha 但它不起作用。
问问题
227 次
3 回答
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 );
}
我认为这会给你一个比其他选项更清晰的结果。
如果你愿意,你甚至可以在这里画出那些绿框指示器。
于 2013-06-04T04:29:25.813 回答
0
我相信实现这一目标的唯一方法是在透明视图周围添加 4 个半透明视图。
于 2013-06-04T04:24:32.470 回答
0
首先,您必须通过CGContextDrawImage在背景视图上添加半透明视图。然后使用CGContextSetBlendMode清除该部分。
请参考以下项目来实现这一点。
于 2013-06-04T04:50:11.900 回答