问题描述
我有一个自定义对话框,我正在使用 UIView 来完成它。 我创建了一个实例来显示对话框并使用 removeFromSuperView 来关闭它。 但似乎对话框的生命周期并没有真正被破坏,每当我再次打开对话框时,它都不会执行 init() 中的那些函数。
我怎样才能真正破坏自定义视图?还是无论如何要再次调用 init() 中的那些 func?
class customDialog: UIView {
static let instance = customDialog()
override init(frame: CGRect) {
super.init(frame: frame)
print("reload!")
Bundle.main.loadNibNamed("customDialog",owner: self,options: nil)
self.customInit1()
self.customInit2()
}
required init?(coder: NSCoder) {
fatalError("init(coder:) has not been implemented")
}
@objc func closeDialog(_ sender:UITapGestureRecognizer){
self.parentView.removeFromSuperview()
}
func showDialog(){
UIApplication.shared.keyWindow?.addSubview(self.parentView)
}
}
解决方法
暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!
如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。
小编邮箱:dio#foxmail.com (将#修改为@)