Xcode 7 の時点で、Interface Builder は(残念なことに!)を認識UIEdgeInsetsZero
しません。@IBInspectable
CGFloat
ただし、プロパティを使用してエッジ インセットを間接的に設定することで、これを回避できます。
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
}
これにより、Interface builder 内bottomInset
に、 などが正しく表示されます。leftInset