Пример #1
0
        public override void ViewDidLoad()
        {
            base.ViewDidLoad();

            this.View.BackgroundColor = UIColor.Clear;

            _colorBarView       = new UIImageView(new RectangleF(10f, 10f, 300f, 30f));
            _colorBarView.Image = new UIImage("*****@*****.**");

            this.View.AddSubview(_colorBarView);

            _paletteView = new UIScrollView(new RectangleF(0, 50f, 320f, this.View.Frame.Height - 120f));
            _paletteView.BackgroundColor        = UIColor.Clear;
            _paletteView.Bounces                = true;
            _paletteView.AlwaysBounceHorizontal = true;
            _paletteView.AlwaysBounceVertical   = false;
            _paletteView.PagingEnabled          = true;

            this.View.AddSubview(_paletteView);

            var layer = new CALayer();

            layer.Frame         = new RectangleF(130f, 16f, 100f, 40f);
            layer.CornerRadius  = 6f;
            layer.ShadowColor   = UIColor.Black.CGColor;
            layer.ShadowOffset  = new SizeF(0f, 2f);
            layer.ShadowOpacity = 0.8f;

            _paletteView.Layer.AddSublayer(layer);

            var index = 0;

            for (var i = 0; i < 12; i++)
            {
                var colorCount = DisplayHelper.Is4InchDisplay() ? 32 : 24;

                for (var j = 0; j < colorCount && index < _colors.Count; j++)
                {
                    var colorIndex = index++;
                    layer                 = new CALayer();
                    layer.Name            = string.Format("Color_{0}", colorIndex);
                    layer.CornerRadius    = 6f;
                    layer.BackgroundColor = _colors[colorIndex].CGColor;

                    var column = j % 4;
                    var row    = j / 4;
                    layer.Frame = new RectangleF((float)(i * 320 + 8 + (column * 78)), (float)(8 + row * 48), 70f, 40f);
                    LayerHelper.SetupShadow(layer);
                    _paletteView.Layer.AddSublayer(layer);
                }
            }

            _paletteView.ContentSize = new SizeF(3840f, 296f);

            var colorRecognizer = new UITapGestureRecognizer(ColorGridTapped);

            _paletteView.AddGestureRecognizer(colorRecognizer);

            _colorBarView.UserInteractionEnabled = true;
            var barRecognizer = new UITapGestureRecognizer(ColorBarTapped);

            _colorBarView.AddGestureRecognizer(barRecognizer);
        }