我写了一个自定义IBDesignable类,它基本上是其他视图的集合(一些标签和图像等)。我重写了intrinsicContentSize属性,以便自动布局可以正确管理它:
override public var intrinsicContentSize: CGSize
{
let greater = label_Title.frameBottom > headerView.frameBottom ? label_Title.frameBottom : headerView.frameBottom
let size = CGSize(width: headerView.width, height: greater)
print("intrinsicContentSize: \(size)")
return size
}
它有效,但有一点需要注意。每当我打开一个有这个视图的故事板时,它会得到一些疯狂的帧大小,我必须点击"更新帧"按钮,以使其再次正确调整大小。我是否缺少一个导致Interface Builder混淆的步骤?