public GradientLayer(GradientLayerType type, GradientLayerAreaType segment) { _type = type; _segment = segment; _minimumOpacity = 0f; _gradientMaskLayer = CALayer.Create(); _gradientMaskLayer.ContentsScale = UIScreen.MainScreen.Scale; _gradientLayer = new CAGradientLayer(); _gradientLayer.Frame = this.Bounds; _gradientLayer.Mask = _gradientMaskLayer; this.MasksToBounds = true; this.AddSublayer(_gradientLayer); this.ContentsScale = UIScreen.MainScreen.Scale; if (_type == GradientLayerType.Face) { _gradientLayer.Colors = colors1; _gradientLayer.Locations = locations1; _maximumOpacity = .75f; } else { _gradientLayer.Colors = colors2; _gradientLayer.Locations = locations2; _maximumOpacity = 1f; } if (_segment == GradientLayerAreaType.Top) { this.ContentsGravity = "bottom"; _gradientLayer.StartPoint = new PointF(0, 0); _gradientLayer.EndPoint = new PointF(0, 1); _gradientMaskLayer.ContentsGravity = "bottom"; } else { this.ContentsGravity = "top"; _gradientLayer.StartPoint = new PointF(0, 1); _gradientLayer.EndPoint = new PointF(0, 0); _gradientMaskLayer.ContentsGravity = "top"; } _gradientLayer.Opacity = _minimumOpacity; }
public GradientLayer(GradientLayerType type, GradientLayerAreaType segment) { _type = type; _segment = segment; _minimumOpacity = 0f; _gradientMaskLayer = CALayer.Create (); _gradientMaskLayer.ContentsScale = UIScreen.MainScreen.Scale; _gradientLayer = new CAGradientLayer (); _gradientLayer.Frame = this.Bounds; _gradientLayer.Mask = _gradientMaskLayer; this.MasksToBounds = true; this.AddSublayer (_gradientLayer); this.ContentsScale = UIScreen.MainScreen.Scale; if (_type == GradientLayerType.Face) { _gradientLayer.Colors = colors1; _gradientLayer.Locations = locations1; _maximumOpacity = .75f; } else { _gradientLayer.Colors = colors2; _gradientLayer.Locations = locations2; _maximumOpacity = 1f; } if (_segment == GradientLayerAreaType.Top) { this.ContentsGravity = "bottom"; _gradientLayer.StartPoint = new PointF (0, 0); _gradientLayer.EndPoint = new PointF (0, 1); _gradientMaskLayer.ContentsGravity = "bottom"; } else { this.ContentsGravity = "top"; _gradientLayer.StartPoint = new PointF (0, 1); _gradientLayer.EndPoint = new PointF (0, 0); _gradientMaskLayer.ContentsGravity = "top"; } _gradientLayer.Opacity = _minimumOpacity; }