void ConfigureProgressLayer() { progressView = new CircularShapeView((RectangleF)Bounds); progressView.ShapeLayer.FillColor = UIColor.Clear.CGColor; progressView.ShapeLayer.Path = (Path != null) ? Path.CGPath : null; progressView.ShapeLayer.LineWidth = (nfloat)LineWidth; progressView.ShapeLayer.StrokeColor = TintColor.CGColor; gradientLayer = new CAGradientLayer(); gradientLayer.Frame = progressView.Frame; gradientLayer.StartPoint = new CGPoint(0, 0.5); gradientLayer.EndPoint = new CGPoint(1, 0.5); gradientLayer.Mask = progressView.ShapeLayer; CGColor[] defaultColors = new [] { ColorExtension.RgbaColor(rgba: 0x9ACDE7FF).CGColor, ColorExtension.RgbaColor(rgba: 0xE7A5C9FF).CGColor }; gradientLayer.Colors = Colors ?? defaultColors; Layer.AddSublayer(gradientLayer); }
void ConfigureProgressGuideLayer(bool showProgressGuide) { if (showProgressGuide && progressGuideView == null) { progressGuideView = new CircularShapeView((RectangleF)Bounds); progressGuideView.ShapeLayer.FillColor = UIColor.Clear.CGColor; progressGuideView.ShapeLayer.Path = progressView.ShapeLayer.Path; progressGuideView.ShapeLayer.LineWidth = (System.nfloat)GuideLineWidth; progressGuideView.ShapeLayer.StrokeColor = TintColor.CGColor; guideLayer = new CAGradientLayer(); guideLayer.Frame = progressGuideView.Frame; guideLayer.Mask = progressGuideView.ShapeLayer; guideLayer.BackgroundColor = ProgressGuideColor.CGColor; guideLayer.ZPosition = -1; progressGuideView.UpdateProgress(1.0); Layer.AddSublayer(guideLayer); } }