我做定制uiview
在迅速,这是代码初始化编码器
@IBDesignable public class HomeScreenCodeView: UIView {
var view :UIView!
var nibName : String = "HomeScreenView"
override init(frame: CGRect) {
// 1. setup any properties here
// 2. call super.init(frame:)
super.init(frame: frame)
// 3. Setup view from .xib file
xibSetup()
}
required public init(coder aDecoder: NSCoder) {
// 1. setup any properties here
// 2. call super.init(coder:)
super.init(coder: aDecoder)
// 3. Setup view from .xib file
xibSetup()
}
func xibSetup() {
view = loadViewFromNib()
view.frame = bounds
view.autoresizingMask = UIViewAutoresizing.FlexibleWidth | UIViewAutoresizing.FlexibleHeight
addSubview(view)
}
func loadViewFromNib() -> UIView {
let bundle = NSBundle(forClass: self.dynamicType)
let nib = UINib(nibName: nibName , bundle: bundle)
// Assumes UIView is top level and only object in CustomView.xib file
let view = nib.instantiateWithOwner(self, options: nil)[0] as UIView
return view
}
问题被称为let view = nib.instantiateWithOwner(self, options: nil)[0] as UIView
的init coder
召回时和xibSetup()
召回过,这导致无限循环 。
如何解决此问题并停止init重新加载。
感谢您的帮助
是的,我解释说,instantitateWithOwner重载编码器初始化 – Hazem 2015-02-10 10:28:55
嗯,这并不能解释为什么你故意创建了这个循环,然后 – 2015-02-10 10:30:06
感谢您的帮助,但没有任何解决方案,以保持xibSetup()在初始化编码器 – Hazem 2015-02-10 10:31:54