使用故事板添加自定义UIView的子视图与其他视图的AutoLayout约束?

创build一个自定义的UIView ,你怎么能使用故事板添加AutoLayout约束相关的子视图到自定义UIView之外的视图/组件?

在下面的例子中, SliceView代表一个自定义的UIView 。 在它的.xib文件中有一个UILabel

在添加新的UIView并将其类设置为SliceView ,新视图在Storyboard中看起来相同。 它没有inheritanceSliceView.的子视图和属性SliceView. 下面的两个屏幕截图显示了SliceView.xib的视图层次结构,以及在将UIView转换为SliceView ,层次结构在Storyboard中保持不变。

所以如果你想添加一个约束在SliceView标签上方10个像素的button,你怎么能在Storyboard内部做到这一点?

 class SliceView: UIView { @IBOutlet var storyboardView: UIView! @IBOutlet weak var captionLabel: UILabel! required init?(coder aDecoder: NSCoder) { super.init(coder: aDecoder) if let nibsView = NSBundle.mainBundle().loadNibNamed("SliceView", owner: self, options: nil) as? [UIView] { let nibRoot = nibsView[0] self.addSubview(nibRoot) nibRoot.frame = self.bounds } } } 

故事板视图层次结构:

添加SliceView后

SliceView视图层次结构:

在这里输入图像说明