Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/ios/104.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Ios UIView对下面的所有视图都不透明_Ios_Uiview_Transparency_Alpha - Fatal编程技术网

Ios UIView对下面的所有视图都不透明

Ios UIView对下面的所有视图都不透明,ios,uiview,transparency,alpha,Ios,Uiview,Transparency,Alpha,我正在处理一个iOS应用程序,我遇到了以下问题:我有一个UIView,它的背景颜色为alpha=0.8,但我不希望它对它下面的所有元素都是透明的。我将以下代码添加到其Draw(CGRect)方法中,使其透明: var gctx = UIGraphics.GetCurrentContext(); gctx.AddEllipseInRect(new CGRect(rect.Location, rect.Size)); gctx.SetFillColor(UIColor.FromRGB(255, 25

我正在处理一个iOS应用程序,我遇到了以下问题:我有一个
UIView
,它的背景颜色为
alpha=0.8
,但我不希望它对它下面的所有元素都是透明的。我将以下代码添加到其
Draw(CGRect)
方法中,使其透明:

var gctx = UIGraphics.GetCurrentContext();
gctx.AddEllipseInRect(new CGRect(rect.Location, rect.Size));
gctx.SetFillColor(UIColor.FromRGB(255, 255, 255).ColorWithAlpha(0.8f).CGColor);
但是,通过这种方式,它可以看穿它下面的所有
ui视图。下图说明了我的意思:


大圆圈的α=0.8
,而在它下面的小圆圈的α=1。我想要实现的是,大圆圈后面的小圆部分是不可见的,而大圆圈具有
alpha=0.2
,以便对背景渐变略微透明。

尝试对小圆使用gc剪辑功能。 您需要将大圆或其反方向设置为剪辑路径并绘制圆


尝试对小圆圈使用gc剪辑功能。 您需要将大圆或其反方向设置为剪辑路径并绘制圆