使用故事板添加自定义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
视图层次结构: