Xcode 7부터 Interface Builder는 @IBInspectable
(버머!)로 UIEdgeInsetsZero
을 인식하지 못합니다.
간접적 에지 세트를 설정 CGFloat
속성을 사용하여, 그러나,이 문제를 해결 할 수 있습니다 :이 올바르게 인터페이스 빌더 내에서 bottomInset
, leftInset
등이 표시됩니다
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
}
.
이 솔루션을 사용하려면 몇 시간 정도 걸렸습니다. – Urban