UIView CreateSwatchView(ColorRGB color, ColorSchemeType type, string title)
        {
            var labelHeight = 20d;
            var scheme      = ColorScheme.CreateColorScheme(color, type);
            var rowRect     = new CGRect(0, labelHeight, swatchSize, swatchSize);
            var colorView   = new UIView()
            {
                Frame = new CGRect(0, 0, scheme.Colors.Count * swatchSize, swatchSize + labelHeight)
            };

            var label = new UILabel
            {
                Text          = title,
                Font          = UIFont.SystemFontOfSize(8f),
                TextAlignment = UITextAlignment.Center,
                Frame         = new CGRect(0, 0, colorView.Frame.Width, labelHeight)
            };

            colorView.Add(label);

            for (int i = 0; i < scheme.Colors.Count; i++)
            {
                if (i > 0)
                {
                    rowRect.Offset(swatchSize, 0);
                }

                var colorRgb = (ColorRGB)scheme.Colors.Values.ElementAt(i);
                var swatch   = new ColorSwatchView(rowRect, colorRgb, colorRgb.ToHex());
                colorView.Add(swatch);
            }

            return(colorView);
        }