我真的需要一只手.我创建了一个UIBabel的@IBDesignable子类,它可以在XCode Interface Builder中正常工作.但是,即使我将"clipsToBounds"设置为false,Interface Builder仍会剪切它,同时更改@IBInspectable属性.
如果我在模拟器或设备上运行应用程序,UILabel不会被剪裁并给出我想要的结果(同时仍然应用Interface Builder所具有的值).
变更前(子视图可见)

在界面建筑师的变化之后(子视图不在视野范围内)

模拟器更改后(子视图如预期)

任何帮助都将受到大力赞赏.自定义类的代码如下.
@IBDesignable class UIFeaturedLabel: UILabel {
@IBInspectable var borderWidth: Float = 4
@IBInspectable var borderOffsetX: Float = 15
@IBInspectable var borderOffsetY: Float = 5
@IBInspectable var borderColor: UIColor = UIColor.whiteColor()
private var headerView:UIView!
private var footerView:UIView!
override init() {
super.init()
createViews()
}
required init(coder aDecoder: NSCoder) {
super.init(coder: aDecoder)
createViews()
}
override init(frame: CGRect) {
super.init(frame: frame)
createViews()
}
func createViews() {
clipsToBounds = false
layer.masksToBounds = false
headerView = UIView() …Run Code Online (Sandbox Code Playgroud)