Swift load nested xib - PullRequest
       8

Swift load nested xib

0 голосов
/ 26 мая 2018

Я использую подход 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.В обоих подходах файл владельца был установлен / не установлен, так как пользовательский класс не установлен / установлен.Я также очистил проект, а также удалил производные данные.Просто интересно, было ли это возможно?

Спасибо

...