通过 instantiateWithOwner 在 swift2 中缓慢加载笔尖
Posted
技术标签:
【中文标题】通过 instantiateWithOwner 在 swift2 中缓慢加载笔尖【英文标题】:slow loading of nib in swift2 by instantiateWithOwner 【发布时间】:2016-06-11 14:47:29 【问题描述】:我尝试通过调用 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
我删除了所有自动布局约束,但它仍然延迟调用
【问题讨论】:
你能解决这个问题吗?使用类似的方法UINib(nibName: Self.className, bundle: nil).instantiateWithOwner(nil, options: nil).first as? Self
,我的加载时间也很慢
【参考方案1】:
我有同样的问题,我发现这是由于 UILabel 的字体或其他视图需要字体。将字体更改为“系统字体”即可解决问题。
如果您从 nib 中删除所有子视图,您会注意到加载时间非常快。然后将subview一个一个加回去,看看哪个view拖慢了时间。
【讨论】:
谢谢!!!我从以前的项目中选择了字体,甚至在这个项目中都没有。将它们全部更改为 System 解决了它。如果不是你的帖子,我想我不会想到这一点。再次感谢:-)以上是关于通过 instantiateWithOwner 在 swift2 中缓慢加载笔尖的主要内容,如果未能解决你的问题,请参考以下文章
在云端开发,但通过远程桌面通过 USB 在本地设备上调试 Android 应用程序
移动端通过ajax上传图片(文件)并在前台展示——通过H5的FormData对象
在c / c ++中何时通过引用传递以及何时通过值传递[重复]