IBDesignables 

(Utilidad, beneficios y consideraciones)
La propiedad IBDesignable permite al desarrollador generar un
componente con propiedades de acuerdo a nuestras necesidades. La
mayor ventaja y diferencia con una subclase es que nos brinda la
capacidad de editar estas propiedades desde el Interface Builder y ver
estos cambios en tiempo real.
Temario
Utilidad
Antecedentes
Definición
Beneficios
Consideraciones
Limitaciones
Ejercicios
FORview
FORSelectionButton
FORButton
FORProgressview
Antecedentes
Las propiedades IBDesignable e
IBInspectable fueron presentadas en el
WWDC 2014 (para swift).
Definición
IBDesignable: Es un atributo asignado a
una UIView que permite renderizarla en
el Interface Builder.
IBInspectable: Al asignarla a una
propiedad de la clase permitirá editar sus
propiedades.
Beneficios
Ver en tiempo real el diseño final de la vista.
Al modificar el código se genera un render
en tiempo real.
Si hay errores el IDE lo indica.
Al ser clases independientes son
exportables.
Consideraciones
Entre más complejo es el componente, más
procesamiento involucra y puede “alentar” nuestro
equipo.
El tiempo de desarrollo de una clase a la medida es
mayor que utilizar una nativa.
El uso excesivo de estas clases provoca un aumento en el
uso de recursos del dispositivo.
No recomiendo utilizar interdependencias, ya que la
portabilidad puede llegar a perderse.
Limitaciones
En caso de manejar “estados” es necesario
que estos puedan ser representados por
enteros o por cadenas de texto, sin
embargo, al utilizar cadenas de texto la
entrada es manual y esto lo complica.
Utilizar un entero es menos propenso a
errores.
FORview (Muy Básico)
Una vista simple con dos estados (activo/
inactivo) y capaz de volverse redonda,
siempre y cuando sea un cuadrado.
FORSelectionButton (Básico)
Un “botón” para términos y condiciones con
un delegado para notificar al contenedor su
cambio de estado (activo/inactivo).
FORButton (Medio)
Una subclase de UIButton con dos estados
(activo/inactivo) con color de fondo, color de
borde, grueso de borde, color de texto,
tipografía, etc para c/u.
FORProgressview (Avanzado)
Un indicador de pasos para un flujo definido.

Ib designables