как я могу создать контроллер представления, который определен в xib?

<p>извините за возможно нуб вопрос, ребята я новичок в разработке ios.</p><p>как я могу создать контроллер представления, который определен в xib?</p><p>когда вы создаете новый класс, унаследованный от <code>uiviewcontroller</code> в xcode, через «новый файл» и устанавливаете флажок <code>with xib</code>, он создает файл xib, который не имеет элемента <code>viewcontroller</code>. но скорее он имеет <code>placeholder</code>, который указывает на <code>uiviewcontroller</code>, который определен <strong>в коде</strong>.</p><p>но я вижу, что вы можете создать сам контроллер в interface builder и указать для него customclass.</p><p>к сожалению, это не работает для меня. я получаю ошибку <code>loaded the "embeddedviewcontroller" nib but the view outlet was not set</code> во время выполнения. но я полагал, что свойство <code>view</code> должно быть установлено загрузчиком ресурсов автоматически, так как все определяется через xib. так работает для tableview и его ячеек, например.</p><p>не могли бы вы привести пример, как это сделать?</p><p>я создал пример проекта: <a href="https://github.com/cppexpert/samplewithnib">https://github.com/cppexpert/samplewithnib</a> </p><p>рассматриваемый контроллер: <em> <a href="https://github.com/cppexpert/samplewithnib/blob/ba453c7492f24ef715832ce780c5b16f2e8a4698/sample43/embeddedviewcontroller.xib">embeddedviewcontroller</a> </em></p>

<p>оказалось, что эти элементы управления существуют в ib для проектов раскадровки.</p>

<p>создайте один xib для uiviewcontroller</p><p>у каждой xib есть объект-владелец файла, чтобы вы могли установить там класс uiviewcontroller. нажмите «владелец файла» и выберите «embeddedviewcontroller» в своем классе. </p><p>затем перетащите туда основной класс uiview, а не класс uiviewcontroller, затем подключите это представление с владельцем файла в качестве представления. uiviewcontroller просто использовать для перетаскивания в базовый проект storyboard.</p><p> <a href="https://github.com/lequysang/gitfiles02/blob/master/samplewithnib-master.zip">https://github.com/lequysang/gitfiles02/blob/master/samplewithnib-master.zip</a> </p>

<p>когда вы создаете контроллер представления с xib через «новый файл», xcode генерирует <code>uiview</code> и автоматически связывает его с выходом <code>view</code>. похоже, вы что-то изменили после того, как xcode сгенерировал файл xib. в этом случае вам необходимо подключить представление к выходу <code>view</code> вручную.</p>

<p>если вы создаете новое представление в xib.set для владельца файла для своего пользовательского класса . или если вы просто хотите создать представление . тогда </p><pre><code>nsarray* test1 = [[nsbundle mainbundle] loadnibnamed:@"view" owner:self options:nil]; self.myviewfromnib = [test1 objectatindex:0]; </code></pre><p>где myviewfromnib - это ваш объект просмотра, а «view» - ваше имя пера.</p>