Подкласс контроллера основного вида с выходами

Я хотел бы создать контроллер основного представления, чтобы обрабатывать настраиваемую панель навигации и ее поведение.

Затем я хотел бы создать подкласс этого нового класса, чтобы использовать его поведение и связать IBOutlet «contentView» для каждого из моих ViewController.

Вот мой BaseViewController.xib: введите здесь описание изображения

TestViewController.xib: связывание выхода «contentView» для его родителя введите описание изображения здесь

TestViewController.h: наследуется от BaseViewController.

#import "BaseViewController.h"

@interface TestViewController : BaseViewController

@end

TestViewController.m: следует использовать выходы из TestViewController.xib

- (id)init
{
    self = [super init];
    if (self) {
        [[NSBundle mainBundle] loadNibNamed:@"TestViewController"
                                      owner:self
                                    options:nil];
    }

    return self;
}

Очевидно, я хотел бы иметь зеленую полосу от MainViewController с белым представлением и меткой от TestViewController, но на самом деле это не работает, вот результат: введите здесь описание изображения

Если в TestViewController.xib я связываю выход «представление» с представлением, оно фактически переопределяет этот экран, и у меня нет зеленой полосы из MainViewController, поэтому я предполагаю, что мой импорт работает, но я не могу понять, почему он не работает с contentView.

Есть идеи ?

Ваше здоровье!

Кирилл


person Cyril    schedule 18.12.2011    source источник


Ответы (1)


Вам нужно будет решить, какой контроллер должен управлять представлением с содержимым.

  • Либо у вас есть контроллер базового представления, и в этом случае вам не нужно создавать подклассы. Просто добавьте подкласс UIView в качестве подпредставления и выполните всю логику там. Представление также может иметь свой собственный файл пера.
  • Или вы подклассифицируете свой базовый контроллер представления, но тогда у вас не может быть отдельного пера контроллера представления. Вы можете выполнять всю логику контроллера представления (источники данных и т. д.) в подклассе (который также является контроллером представления), но он будет использовать перо базового контроллера представления.
person Mundi    schedule 18.12.2011