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拖慢了时间。
我尝试通过调用 instantiateWithOwner
从 nib 加载自定义 uiviewfunc 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拖慢了时间。