【发布时间】:2018-05-16 07:37:10
【问题描述】:
这两种情况都会导致代码正确运行,但使用 loadNibNamed 函数会导致 IB 渲染错误:
Bundle.main.loadNibNamed("myXib", owner: self, options: nil)
self.view.frame = bounds
self.view.autoresizingMask = [.flexibleWidth, .flexibleHeight]
self.addSubview(self.view)
IB Designables 出现以下错误:
而在 IB 中使用它可以正确呈现:
guard let view = loadViewFromNib(name: "myXib") else {return}
view.frame = bounds
view.autoresizingMask = [.flexibleWidth, .flexibleHeight]
self.addSubview(view)
func loadViewFromNib(name : String) -> UIView? {
let bundle = Bundle(for: type(of: self))
let nib = UINib(nibName: name, bundle: bundle)
return nib.instantiate(withOwner: self, options: nil).first as? UIView
}
我们将不胜感激。
【问题讨论】:
-
...sooo 是什么错误?
-
为什么第一个throw方法会抛出IB渲染错误?为什么投反对票,似乎是一个合法的问题?即使我找到了解决方法。
-
因为我们不知道错误是什么。你有什么问题?
-
查看添加的图片。
-
你试过
debug selected views吗?
标签: swift xcode xib ibdesignable