Используйте файл.xib/storyboard в качестве источника интерфейса JASidePanels

Я пытаюсь реализовать в своем проекте JASidePanels, но сначала я пытался создать интерфейс, такой как файл.xib или раскадровка, где я мог бы перетаскивать элементы вместо программно созданного интерфейса по умолчанию в проекте.

Я следую за шагами примера 2: раздел раскадровки.

Но это именно то, что я делаю на основе примера, я новичок в iOS.

Первый в JASidePanels/Source Я добавляю новый файл Cocoa Touch Class "и назови это" MySidePanelController "с подклассом JASidePanelController,

Затем я добавляю storyboard файл в той же папке и добавить 3 View Controllers внутри, в каждом даю идентификаторы.

Наконец я добавляю метод -(void) awakeFromNib в MySidePanelController.m

Запустите приложение, и приложение JASidePanels отобразит тот же исходный контент, что и при загрузке.

Я что-то пропустил? я точно уверен

Как я могу загрузить интерфейс из xib-файла или раскадровки?

1 ответ

Решение

Хорошо, это было просто, шаг 4 является ключевым

  1. Создать новый проект
  2. Добавьте это два файла JASidePanelController.h & JASidePanelController.m к вашему проекту.
  3. Добавить новый файл "Cocoa Touch Class"и назови это"MySidePanelController"(например) с подклассом JASidePanelController,
  4. в Main.storyboard щелчок Show the identity inspector в разделе Custom Class в поле Class: MySidePanelController
  5. Добавьте больше контроллеров представления к вашей раскадровке и присвойте им идентификаторы "leftViewController", "centerViewController" и "rightViewController". Обратите внимание, что в новом XCode идентификатор называется "Storyboard ID" и может быть найден в инспекторе Identity (в более старых версиях идентификатор находится в инспекторе Attributes).

  6. Добавить метод awakeFromNib в MySidePanelController.m со следующим кодом:

-(void) awakeFromNib
{
    [self setLeftPanel:[self.storyboard instantiateViewControllerWithIdentifier:@"leftViewController"]];
    [self setCenterPanel:[self.storyboard instantiateViewControllerWithIdentifier:@"centerViewController"]];
    [self setRightPanel:[self.storyboard instantiateViewControllerWithIdentifier:@"rightViewController"]];
}
Другие вопросы по тегам