instantiateWithOwner 在 swift2 中缓慢加载 nib

slow loading of nib in swift2 by instantiateWithOwner

我尝试通过调用 instantiateWithOwner

从 nib 加载自定义 uiview
func loadViewFromNib() -> UIView {
    let bundle = NSBundle(forClass: self.dynamicType)
    let nib = UINib(nibName: "myCustomView", bundle: bundle)
     let view = nib.instantiateWithOwner(self, options: nil)[0] as! UIView
    return view
}

视图加载成功,但加载时间较长(5 秒)。 当我追踪代码时,我发现这一行延迟的原因:

let view = nib.instantiateWithOwner(self, options: nil)[0] as! UIView

我删除了所有自动布局约束,但它仍然延迟调用

我也遇到了同样的问题,我发现是因为UILabel的字体或者其他视图需要字体。将字体更改为 "System Font" 解决了问题。

如果从 nib 中删除所有子视图,您会注意到加载时间非常快。然后一个一个的往回添加subview,看看是哪个view拖慢了时间。