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); }