我在调整通过loadNibNamed加载的视图时出现问题,它们的框架在实例化时更新,并且在我转到另一个视图并返回时只获取设置大小。
流程:
我用来实例化nib的代码:
class NibView: UIView {
override init(frame: CGRect) {
super.init(frame: frame)
xibSetup("xibName")
}
required init?(coder aDecoder: NSCoder) {
super.init(coder: aDecoder)
xibSetup("xibName")
}
func xibSetup(name: String) {
view = loadViewFromNib(name)
view.translatesAutoresizingMaskIntoConstraints = false
view.frame.size = bounds.size
addSubview(view)
func loadViewFromNib(name: String) -> UIView {
let nib = NSBundle.mainBundle().loadNibNamed(name, owner: self, options: nil)
let view = nib[0] as! UIView
return view
}
}
答案 0 :(得分:0)
您正在从init方法调用xibSetup
。 bounds.size
尚未设置,但您正在使用它来设置view.frame.size
。