IBInspectables UIEdgeInsets que no se muestran en IBOutlet

Estoy creando una class personalizada para UIButton para boost el área de toque. Necesito que el usuario pueda ingresar el relleno en el guión gráfico. Entonces hago una propiedad IBInspectable .

 @IBDesignable class UIIconButton: UIButton { @IBInspectable var touchPadding:UIEdgeInsets = UIEdgeInsetsZero } 

Pero no se muestra en el guión gráfico. Sin embargo, si se reemplaza el mismo con CGRect entonces es visible en el guión gráfico.

A partir de Xcode 7, Interface Builder no entiende UIEdgeInsetsZero como un @IBInspectable (bummer!).

Sin embargo, puede CGFloat mediante el CGFloat properties CGFloat para establecer inserciones de borde indirectamente:

 public class UIIconButton: UIButton { @IBInspectable public var bottomInset: CGFloat { get { return touchPadding.bottom } set { touchPadding.bottom = newValue } } @IBInspectable public var leftInset: CGFloat { get { return touchPadding.left } set { touchPadding.left = newValue } } @IBInspectable public var rightInset: CGFloat { get { return touchPadding.right } set { touchPadding.right = newValue } } @IBInspectable public var topInset: CGFloat { get { return touchPadding.top } set { touchPadding.top = newValue } } public var touchPadding = UIEdgeInsetsZero } 

Esto mostrará correctamente el bottomInset , leftInset , etc. dentro del generador de interfaces.