Ejemplo n.º 1
0
        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;
        }
Ejemplo n.º 2
0
        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;
        }