2011-12-18 2 views
1

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

Затем я хотел бы подклассифицировать этот новый класс, чтобы использовать его поведение и связать 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, Я связываю «представление» с представлением, это фактически переопределяет этот экран, и у меня нет зеленой полосы от MainViewController, поэтому я думаю, что мой импорт работает, но я не понимаю, почему он не работает с contentView ,

Любая идея?

Cheers!

Кирилл

ответ

0

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

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