我一直在寻找答案,也试图自己解决,但我做不到,我认为这是最好的地方。所以我试图完成一些简单的事情,但我就是找不到方法。我想我在概念层面上遗漏了一些东西。这就是我尝试在继承 UIView 的类中创建半透明矩形的方式:
- (void)drawRect:(CGRect)rect
{
CGContextRef context = UIGraphicsGetCurrentContext();
//this should be white color with 0.7 opacity right
CGContextSetRGBFillColor(context, 1.0, 1.0, 1.0, 0.7);
CGContextFillRect(context, self.bounds);
}
好的,这只会使颜色变灰。我也尝试过,但结果相同:CGContextSetRGBFillColor(context, 1.0, 1.0, 1.0, 1.0);
CGContextSetAlpha(上下文,0.7);
另一个尝试:
- (void)drawRect:(CGRect)rect
{
CGContextRef context = UIGraphicsGetCurrentContext();
CGContextSetRGBFillColor(context, 1.0, 1.0, 1.0, 1.0);
CGContextFillRect(context, self.bounds);
self.alpha = 0.7;
}
瞧!我解决了。但不完全是。我想在上下文中绘制一个半透明的矩形,而不是使整个视图透明。然后例如添加另一个完全不透明的矩形。很想听听你的想法。谢谢。