我正在开发一个iOS应用程序,我遇到了以下问题:我有一个UIView
,其背景颜色为alpha = 0.8
,但我不希望它对所有元素都是透明的在它下面。我通过在其Draw(CGRect rect)
方法中添加以下代码使其透明:
var gctx = UIGraphics.GetCurrentContext();
gctx.AddEllipseInRect(new CGRect(rect.Location, rect.Size));
gctx.SetFillColor(UIColor.FromRGB(255, 255, 255).ColorWithAlpha(0.8f).CGColor);
但是,通过这种方式,它下面的所有UIViews
都是透明的。下图说明了我的意思:
大圈子有alpha = 0.8
,而小圈子有alpha = 1
。我想要实现的是小圆圈的一部分,在大圆圈后面是不可见的,而大圆圈有alpha = 0.2
,以便对背景渐变略微透明。
答案 0 :(得分:0)
尝试将gc剪辑功能用于小圆圈。 你需要将它的大圆或倒数设置为剪辑路径并绘制圆圈。