3

我尝试通过调用 instantiateWithOwner 从笔尖加载自定义 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

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

4

1 回答 1

2

我有同样的问题,我发现这是由于 UILabel 中的字体或其他视图需要字体。将字体更改为“系统字体”即可解决问题。

如果您从 nib 中删除所有子视图,您会注意到加载时间非常快。然后将子视图一一添加回来,检查哪个视图减慢了时间。

于 2016-12-24T02:30:18.410 回答