У меня есть xib (childXib), связанный с его пользовательским UIView swift через его владельца.
Вот как я инициализирую свой пользовательский UIView:
// init for IBDesignable
override init(frame: CGRect) {
super.init(frame: frame)
let view = loadViewFromNib()
view.frame = bounds
addSubview(view)
}
required init?(coder aDecoder: NSCoder) {
super.init(coder: aDecoder)
addSubview(loadViewFromNib())
}
func loadViewFromNib() -> UIView {
let bundle = NSBundle(forClass: self.dynamicType)
let nib = UINib(nibName: "CommentCellView", bundle: bundle)
let view = nib.instantiateWithOwner(self, options: nil)[0] as! UIView
return view
}
Когда я хочу добавить этот xib (childXib) в другой xib (parentXib), я получаю следующие ошибки:
ошибка: IB Designables: не удалось отобразить экземпляр MyRootView: агент выдал исключение.
Где MyRootView - это файл, связанный с parentXib
ошибка: IB Designables: не удалось обновить состояние автоматического макета: агент вызвал исключение "NSInternalInconsistencyException": не удалось загрузить NIB в комплекте: "NSBundle (загружен)" с именем "MyIBDesignableCustomViewFilename"
Где MyIBDesignableCustomViewFilename - это файл, связанный с childXib.
Когда я отлаживаю его, нажимая " Debug в Custom class из Identity inspector, он не работает из этой строки:
let view = nib.instantiateWithOwner(self, options: nil)[0] as! UIView
Все файлы xib находятся в Copy Bundle Resources на xib Build Phases.
Есть идеи, что не так?







