Add a custom color palette to Xcode Interface Builder

IosXcodeInterface Builder

Ios Problem Overview


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?

Ios Solutions


Solution 1 - Ios

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.

Solution 2 - Ios

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

Solution 3 - Ios

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.

Attributions

All content for this solution is sourced from the original question on Stackoverflow.

The content on this page is licensed under the Attribution-ShareAlike 4.0 International (CC BY-SA 4.0) license.

Content TypeOriginal AuthorOriginal Content on Stackoverflow
QuestionPheepsterView Question on Stackoverflow
Solution 1 - IosMark MoeykensView Answer on Stackoverflow
Solution 2 - IosSuragchView Answer on Stackoverflow
Solution 3 - IosJerryView Answer on Stackoverflow