在 swift2 中通过实例化 WithOwner 缓慢加载 nib



我尝试通过调用 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或其他视图的字体需要字体。将字体更改为"系统字体"解决了问题。

如果您从笔尖中删除所有子视图,您会注意到加载时间非常快。然后逐个添加子视图,以检查哪个视图减慢了时间。

最新更新