Ios 界面生成器剪裁可设计视图

Ios 界面生成器剪裁可设计视图,ios,xcode,interface-builder,rendering,ibdesignable,Ios,Xcode,Interface Builder,Rendering,Ibdesignable,我真的需要帮忙。我已经创建了UILabel的@IBDesignable子类,它在XCode接口生成器中运行良好。但是,即使我将“clipsToBounds”设置为false,Interface Builder仍会在更改@IBInspectable属性时对其进行剪裁 如果我在模拟器或设备上运行应用程序,UILabel不会被剪裁,并提供所需的结果(同时仍应用Interface Builder的值) 更改之前(子视图可见) 在界面生成器中更改后(子视图不在视图中) 在模拟器中更改后(子视图与预期一

我真的需要帮忙。我已经创建了UILabel的@IBDesignable子类,它在XCode接口生成器中运行良好。但是,即使我将“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()
    footerView = UIView()

    headerView.backgroundColor = UIColor.whiteColor()
    footerView.backgroundColor = UIColor.whiteColor()

    addSubview(headerView)
    addSubview(footerView)
}

override func layoutSubviews() {
    super.layoutSubviews()

    let left = CGFloat( -borderOffsetX )
    let right = CGFloat( frame.width + CGFloat(borderOffsetX*2) )
    let top = CGFloat( -borderOffsetY )
    let bottom = CGFloat( frame.height - CGFloat(borderWidth/2) ) + CGFloat( borderOffsetY )

    headerView.frame = CGRectMake(left, top, right, CGFloat(borderWidth))
    footerView.frame = CGRectMake(left, bottom, right, CGFloat(borderWidth))
}
}

仍然出现在XCode 7.3 iOS9.3中,但在XCode 8.0 beta版(8S128d)中已修复

我也遇到了这个问题,我认为这是Xcode中的另一个bug。从Xcode 7.2(7C68)开始,这个最小的示例在Interface Builder中不起作用。