Загрузка представления из IB - PullRequest
0 голосов
/ 01 апреля 2010

Это должно быть довольно легко исправить, но я не понял, прочитав документацию Apple или другие вопросы SO, как сделать этот простой переход от создания моего интерфейса программно к использованию Interface Builder.

Iя основываю свой код на этой платформе: http://www.pushplay.net/blog_detail.php?id=27

Единственное отличие состоит в том, что, где каждое представление программно создается (View01.m, View02.m) в ViewDidLoad, я вместо этого хочу импортировать из перавсе еще используя эту платформу) для каждого представления (каждое представление имеет уникальный дизайн IB).

Спасибо за помощь.

1 Ответ

0 голосов
/ 01 апреля 2010

Думайте о IB как о Создателе объектов, а не о генераторе кода. Это действительно помогает. На самом деле IB создает экземпляры объектов по мере их перетаскивания в окно рабочего стола / представления / XIB. Затем он позволяет начать создавать различные соединения (с помощью перетаскивания мышью) от одного объекта к другому. Затем вы создаете экземпляр всего XIB, разархивируя его из вашего пакета. Это очень автоматический режим, и чтение UIViewController должно вас немного продвинуть. Посмотрите на:

initWithNibName:bundle:

У вас в основном два типа соединений:

Выход: это то, как вы учите один объект существованию другого объекта. Например, у вас может быть объект контроллера, которому нужен доступ к кнопке. Вы создаете розетку (либо в текстовом редакторе XCode в области файла / свойства controller.h, либо в IB, добавляя розетку) в своем контроллере, а затем перетаскиваете, удерживая нажатой клавишу Control, из розетки на кнопку.

Действия: так вы инициируете событие на одном объекте для вызова метода на другом объекте. Действия будут иметь прототип:

 - (IBAction) someMethod:(id) sender;

Я думаю, что ": (id) sender" является необязательным, если вашему методу не нужна ссылка на объект, вызывающий событие.

В IB вы можете упорядочивать объекты и устанавливать различные атрибуты, такие как размер, цвет, положение, цель / действия, взаимодействие с пользователем, владелец файла ...

Это подводит меня к владельцу файлов. Большая концепция здесь. Как правило, это контроллер, который загружает NIB (ОК: у меня есть собственный оконный контроллер, которым я пользуюсь более 15 лет, но у Apple есть действительно хороший UIViewController, который делает все возможное.) И действует как прокси в IB. На самом деле он не создается в IB, но это происходит, когда вы выделяете и запрашиваете его для загрузки NIB (файлы XIB - это файлы XML, которые в процессе компиляции преобразуются в файлы NIB)

...