Xcode 7以降、Interface Builderは@IBInspectable
(bummer!)としてUIEdgeInsetsZero
を認識しません。
あなたは間接的にエッジのインセットを設定する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
}
これは正しくインターフェイスビルダー内bottomInset
、leftInset
などが表示されます。
この解決策には数時間かかりました。 – Urban