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