Add a custom color palette to XCode Interface Builder

My current long term project utilizes a palette of custom colors. In code, we are using a category to access these colors by name. This works great but there are times, such as when building a nib, that these colors won't be set programmatically.

I am looking for a way to define a named set of colors. For instance, when setting a background color for a UIView, I would like my drop list in Interface Builder to list my custom colors by name. Does anyone know of a way to achieve this? Thanks!


Xcode 9

You now have another option to add Color Sets or Named Colors to your assets. This is new in Xcode 9.

1. Adding Named Colors to Your Project

Adding Named Colors

In *.xcassets > right-click > New Color Set

2. Assigning Name Colors to Views

enter image description here

Your new Named Colors show up in your Color Picker now in their own section.


Custom Color Palette

In the Interface Builder's color dialog, choose the third tab. Click the gear and New to make a new custom color palette. You can name it whatever you want. Then click the plus (+) button to add a new color and name it. Use the color picker tool to set the color.

enter image description here

Colors from RGB or Hex

Choose the second tab in the color dialog and select RGB Sliders. This will allow you to set the colors using RGB or hex values.

enter image description here

More Help

  • XCode Tip: Color Palette
  • How to define colors in XCodes' Interface Builder?
  • How do I enter RGB values into Interface Builder?

Yes, you can create and edit a palette in IB and then share it with your team This article has all the details: http://natashatherobot.com/xcode-color-palette/

Edit: That link has expired. You can see the web archive here: https://web.archive.org/web/20210303015055/http://natashatherobot.com/xcode-color-palette/

But, using named colors in the asset catalog is a better way to go now.