Hay otra manera que no implica la codificación en absoluto.
Primero, coloque las imágenes que desea colocar en la barra del documento Assets.xcassets.
Seleccione la imagen en el navegador de activos.

Abra el inspector de atributos de esa imagen en la barra de herramientas vertical derecho.

En "Renderizar como" seleccionar "imagen original".

A pesar de que en el guión gráfico de los botones continuarán siendo pintado con el color de la tinta, cuando se ejecuta en el simulador se mostrará la imagen original.

El modo de procesamiento predeterminado para una imagen varía de un control de interfaz de usuario para el otro. Sin embargo, si configura este parámetro en el inspector de atributos, puede forzar que una imagen siempre se represente con un modo de representación específico.
Si necesita representar la misma imagen con diferentes modos de representación en diferentes controladores, la respuesta de MANIAK_dobrii es más adecuada.
Si desea un título en el botón es posible que desee cambiar la línea setImage a setBackgroundImage. Si no, entonces el código anterior funciona bien. – rein
muchas gracias hombre – vodkhang
No se olvide 'button.showsTouchWhenHighlighted = YES' por lo que el botón se ilumina cuando se toca como un UIBarButtonItem estándar. – azdev