Создание подкласса контроллера основного вида с выходами - PullRequest
1 голос
/ 19 декабря 2011

Я хотел бы создать контроллер основного вида для обработки пользовательской панели навигации и ее поведения.

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

Вот мой BaseViewController.xib: enter image description here

TestViewController.xib: связывание выхода «contentView» для его родителя enter image description here

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, но на самом деле это не работает, вот результат: enter image description here

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

Есть идеи?

Ура!

Кирилл

1 Ответ

0 голосов
/ 19 декабря 2011

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

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