Xcode - Как подключить XIB к классу ViewController
Сначала я создал свой TestViewController.h и *.m. После этого мой TestView.xib.
Теперь мне нужно сказать мой xib: "Да, пожалуйста, возьмите класс TestViewController в качестве моего владельца файла".
Я открываю свой xib, перехожу к Identity Inspector своего файлового устройства и выбираю в TestViewController "Custom Class".
Но это кажется недостаточным - поскольку, когда я открываю TestView.xib, а затем выбираю "View Editor Assistent", он должен вызывать соответствующий ViewController в правой части разделенного экрана - в моем случае "TestViewController".час". Но это не так!
Нужно ли связать xib каким-либо образом с его диспетчером представлений, перетаскивая строки в файлы, как вы делаете это с выходами и действиями?
Ответы
Ответ 1
Нажмите, чтобы выбрать xib. Теперь выберите владельца файла. В панели атрибутов с правой стороны выберите третью вкладку "Идентификационный инспектор". Существует заголовок с именем Пользовательский класс. Дайте свое имя контроллера контроллера там. После этого вы можете связать элементы с владельцем файла.
![enter image description here]()
Ответ 2
В контроллере представления создайте "представление" (UIView) и отметьте его как IBOutlet. (Когда вы используете правильные значения по умолчанию/шаблоны при создании файлов в xcode, это свойство должно быть там уже.)
В Interface Builder создайте ссылку между основным видом и видом/представлением представления диспетчера/владельца файла.
Только для полной картины: при создании/распределении контроллера вида вы должны запустить его с соответствующим XIB файлом. Это тот самый момент, когда объект контроллера представления привязан к представлению, которое создается из файла XIB.
Ответ 3
Я думаю, что столкнулся с этой ситуацией, когда создал подкласс UIViewController, но забыл проверить "с .xib для UI", когда я это сделал. Позже я вернулся и создал .xib отдельно.
Вот еще шаг за шагом, чтобы связать ваш новый UIViewController и .xib.
-
Выберите "Владелец файла" в разделе "Заполнители" в левой панели IB. В Property Inspector (правая панель IB) выберите третью вкладку и отредактируйте "Класс" в разделе "Пользовательский класс" как имя вашего нового подкласса UIViewController.
-
Затем нажмите Ctrl или щелкните правой кнопкой мыши на File Owner в левой панели и нарисуйте линию на верхнем уровне View в части Objects на левой панели. Выберите выход "view", и все будет готово.
Теперь вы можете настроить другие точки и действия. Вы готовы создать экземпляр своего контроллера представления в коде и использовать initWithNibName и имя вашего nib для его загрузки.
Ответ 4
1) Сначала, как и каждый из них, дайте имя контроллера вида в классе File Owner
2) Выберите "Владелец файла", перетащите строку оттуда, чтобы просмотреть это соединение.
3) Создайте экземпляр контроллера View и добавьте его в окно, чтобы фрагмент кода был следующим,
MyViewController *controller = [[MyViewController alloc] initWithNibName:@"MyView" bundle:nil];
4) Наконец, добавьте представление контроллера представления в виде subview в window.TO сделайте это, чтобы кодирование было следующим,
[window addSubview:[controller view]];
Попробуйте следующий фрагмент на appdelegate
- (void)applicationDidFinishLaunching:(UIApplication *)application {
// Override point for customization after application launch
[window makeKeyAndVisible];
MyViewController *controller = [[MyViewController alloc] initWithNibName:@"MyView" bundle:nil];
[window addSubview:[controller view]];
}
5) Используйте следующий фрагмент, чтобы увеличить размер окна, чтобы не отображалось никаких задержек
[controller.view setFrame:[[UIScreen mainScreen] applicationFrame]];
Теперь вы увидите контроллер своего вида, как вы ожидали...
Надеюсь, это поможет...
Ответ 5
да, вы должны добавить свойство view к владельцам файлов этого контроллера представления из конструктора интерфейса:
Ответ 6
выберите файл fileownr, перейдите в окно инспектора удостоверений и измените имя класса владельца файла на ваш файл .h, который будет подключаться.