我正在使用Quartz进行绘制,就像在自定义UIView中说“Paint”
一样我有控制器视图“viewC”
我做了
[self.view addSubView:somePaintInstance]; in my viewC at some event
现在,当我绘画或绘画时,Paint的默认背景为“黑色”。
我想在“viewC”视图之上进行全透明绘画/绘图
所以我做了
somePaintInstance.alpha=0.5; (before adding it as subview)
但是这也使我的绘画/绘画与Paint的背景透明,所以如果我使它完全透明(alpha = 0.0),我无法用绘画的视图看到绘图本身
我尝试过但不工作:
网上的其他答案也不适用于此类实施
我在这里看到了解答: How to add a transparent gradient mask to a context
但仍然不清楚我如何实现我想要的?
如果需要,请告诉我其他详细信息
此致
答案 0 :(得分:2)
我尝试设置alpha值为0的背景或使用StartTransparentLayer。这些都没有效果。 对我有用的是将视图opaque属性设置为NO。 在我的视图的初始化程序中,我输入以下代码:
-(id)initWithFrame:(CGRect)frame {
if (self = [super initWithFrame:frame]) {
// set default values
self.colorNormal = [UIHelper ricolaYellow];
self.colorActice = [UIColor colorWithHexString:CIRCLE_COLOR_ACTIVE];
self.capacities = nil;
self.opaque = NO;
}
return self;
}
答案 1 :(得分:0)
此行应该有效,
somePaintInstance.backGroundColor = [UIColor clearColor];