Я использую подход XIB для просмотра контроллеров, и я пытаюсь загрузить другой XIB внутри XIB.Возможно ли это, поскольку каждый документированный метод, который я попробовал, потерпел неудачу.
Я пробовал следующее: https://medium.com/@brianclouser/swift-3-creating-a-custom-view-from-a-xib-ecdfe5b3a960
А также используя следующее:
override init(frame: CGRect) {
super.init(frame: frame)
setup()
}
required init?(coder aDecoder: NSCoder) {
super.init(coder: aDecoder)
setup()
}
override func prepareForInterfaceBuilder() {
super.prepareForInterfaceBuilder()
setup()
view.prepareForInterfaceBuilder()
}
func setup() {
view = loadViewFromNib()
view.frame = bounds
view.autoresizingMask = [.flexibleWidth, .flexibleHeight]
self.addSubview(view)
}
func loadViewFromNib() -> UIView {
let bundle = Bundle(for: type(of: self))
let nib = UINib(nibName: identifier, bundle: bundle)
let view = nib.instantiate(withOwner: self, options: nil)[0] as! UIView
return view
}
Проблема, с которой я столкнулся, - это сценарий с бесконечным циклом, без сомнения вызванный из необходимого init.В обоих подходах файл владельца был установлен / не установлен, так как пользовательский класс не установлен / установлен.Я также очистил проект, а также удалил производные данные.Просто интересно, было ли это возможно?
Спасибо