У меня есть WizardSequenceViewController
с IBOutlet WizardView *_wizardView
. Во многих файлах WizardSequenceViewController.xib
у меня есть выход view
, подключенный к владельцу файла - WizardSequenceViewController
. У меня есть подвид этого представления, определенный с атрибутом класса, установленным на WizardView
. Я связал это WizardView
с выходом в Владелец файла. Наконец, в моем WizardView.xib
у меня есть UILabel
, который я поместил в файл, чтобы проверить, отображается ли представление. Когда я выбираю WizardSequenceViewController
из моей панели вкладок, я вижу супервизор view
, но не подвью _wizardView
. Когда я устанавливаю точку останова в моем методе -(id)initWithCoder
в моем WizardView.m
файле, я вижу, что он останавливается там, поэтому я знаю, что он вызывает этот инициализатор (и, следовательно, должен использовать xib для загрузки этого файла). Я пробовал много итераций и вариаций, чтобы заставить эту вещь работать, но я не могу, и я схожу с ума. У кого-нибудь есть идеи?Загрузка пользовательского UIView из XIB-файла в XIB для просмотра ViewController
ответ
От Apple, док «Просмотр Основы контроллера, о регулируемом View Controllers»:
Соответствие один-к-одному между контроллером представления и мнения в его иерархии видов является ключевым фактором дизайна. Вы не должны использовать несколько настраиваемых контроллеров представлений для управления различными частями одной и той же иерархии представлений. Аналогичным образом, вы не должны использовать один пользовательский объект контроллера просмотра для управления несколькими экранами.
Примечание. Если вы хотите разделить иерархию представлений на несколько подрайонов и управлять ими отдельно, используйте общие объекты контроллера (пользовательские объекты, спускающиеся из NSObject), вместо того чтобы просматривать объекты контроллера для управления каждым подрайоном. Затем используйте один объект контроллера представления для управления универсальными объектами контроллера.
Возможно, вы не можете установить функцию просмотра и подзапроса в диспетчере представлений. И я не уверен, что назначение подзаголовка отдельному подклассу NSObject тоже будет работать, потому что как бы вы его представили? Не могли бы вы написать программный код subview, используя initWithFrame и addSubview, вместо того, чтобы сделать его выходом? Или, если вы действительно хотите настроить его графически, можете ли вы назначить его отдельному контроллеру представления в качестве владельца? Затем контроллер верхнего уровня вызовет presentModal
на контроллере дополнительного представления. Или, если все, что вам нужно, это UILabel в качестве подзаголовка, просто добавьте ярлык в основной вид?
Даже я столкнулся с аналогичной проблемой. Но он был разрешен следующими шагами, указанными в следующей ссылке. Надеюсь, поможет. http://blog.yangmeyer.de/blog/2012/07/09/an-update-on-nested-nib-loading
- 1. UIView: загрузка с пользовательского XIB, вызвавшего сбой
- 2. Загрузка ViewController из файла xib
- 3. Использование пользовательского подкласса NSView/UIView из XIB?
- 4. Загрузить UIView из XIB
- 5. Программно изменить размер пользовательского UIView из XIB
- 6. iOS5 Назначение .xib для пользовательского класса UIView
- 7. Как изменить переменную пользовательского UIView из ViewController
- 8. Подключить UIView с XIB к другому ViewController
- 9. Как создать экземпляр UIView/UITableView из xib (nib) в ViewController
- 10. Загрузка UITableView для просмотра в другом ViewController
- 11. Swift: Добавить xib в UIView
- 12. Инициализаторы удобства для пользовательского uiview, загруженного из .xib
- 13. Загрузить UIView, определенный в XIB, в UIView
- 14. 1 ViewController для просмотра?
- 15. Загрузка XIB-файла в UIView Swift
- 16. Как перейти к ViewController Из файла xib класса UIView
- 17. Уметь загружать xib из раскадровки и ViewController
- 18. UIView в пользовательском xib
- 19. Пользовательский UIView загружен из Xib
- 20. Загрузка представления из XIB в ViewController и VIewCell
- 21. Загрузить XIB в ViewController Xamarin?
- 22. Переключение UIView из одного XIB
- 23. Представление ViewController в файле xib в SWIFT
- 24. Xib ViewController
- 25. Вызвать метод UIView из ViewController
- 26. AutoLayout для xib для viewcontroller?
- 27. Загрузить пользовательский viewcontroller из xib
- 28. Xib для пользовательских UIView или UIView с классом, установленным для этого пользовательского UIView
- 29. UITableViewCell загрузка пользовательского XIB для разных типов ориентации и ячеек
- 30. UIView от xib размыт
Вы пробовали 'initWithNibName: @" WizardView "'? – Wienke
@Wienke, зачем мне это требовать, если я установил выход для '_wizardView', и я знаю, что он вызывает инициализатор' initWithCoder' для 'WizardView'? –
Я даже не знал, что наконечники считаются закодированными. При загрузке я всегда использовал имя nibName. Это была простая идея попробовать. Возможно, вы можете вызвать 'initWithNibName' * из *' initWithCoder'. – Wienke