从nib实例化UIView会导致无限循环问题
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了从nib实例化UIView会导致无限循环问题相关的知识,希望对你有一定的参考价值。
我正在尝试使用我创建的自定义视图。
我使用来自nib的实例化,但它会导致无限循环,我不知道如何修复。任何的想法?
以下是运行结果的图像:
这是导致问题的代码:
// MARK: - Init & Setup
// Needed for IBDesignable
override init(frame: CGRect) {
super.init(frame: frame)
setup()
}
required init?(coder aDecoder: NSCoder) {
super.init(coder: aDecoder)
setup()
}
func setup(){
view = loadViewFromNib()
view.frame = bounds
view.autoresizingMask = UIViewAutoresizing(rawValue: UIViewAutoresizing.RawValue(UInt8(UIViewAutoresizing.flexibleWidth.rawValue) | UInt8(UIViewAutoresizing.flexibleHeight.rawValue)))
addSubview(view)
}
func loadViewFromNib() -> UIView{
let bundle = Bundle(for:type(of: self))
let nib = UINib(nibName: "LoginView", bundle: bundle) // TEST: changin bundle from bundle-> nil
let view = nib.instantiate(withOwner: self, options: nil)[0] as! UIView
return view
}
编辑:这是连接的图像
谢谢 :)
以上是关于从nib实例化UIView会导致无限循环问题的主要内容,如果未能解决你的问题,请参考以下文章
从 nib 加载自定义 UIView 会导致无限循环或抛出 nil 异常
如何从 ViewController 中的 xib (nib) 实例化 UIView / UITableView
无法从 nib 实例化 UIView。 “警告:无法加载任何 Objective-C 类信息”
从 XIB 问题动态实例化自定义 UIView(此代码有啥问题)?