Прежде всего, вам не нужно определять выход view
в классе HeadViewController
.Он автоматически наследуется от суперкласса UIViewController
.
Затем я предлагаю вам добавить представление HeadViewController
непосредственно к вашему текущему виду.Например,
- (void)viewDidLoad
{
[super viewDidLoad];
// Do any additional setup after loading the view from its nib.
HeadViewController *headViewController = [[HeadViewController alloc] initWithNibName:@"HeadViewController" bundle:nil];
headViewController.view.frame = CGRectMake(0, 0, 320, 120);
[self.view addSubview:headViewController.view];
}
Но если вы используете ARC (автоматический подсчет ссылок), экземпляр headViewController
, вероятно, будет освобожден после завершения метода viewDidLoad
.Удобно (и я бы сказал, что это обязательно) назначить этот экземпляр локальной переменной в контроллере, который вы сейчас отображаете.Таким образом, вы сможете при необходимости обрабатывать компоненты его представления позже, экземпляр будет сохранен, а все остальное будет работать отлично.У вас должно быть что-то вроде:
- (void)viewDidLoad
{
[super viewDidLoad];
// Do any additional setup after loading the view from its nib.
self.headViewController = [[HeadViewController alloc] initWithNibName:@"HeadViewController" bundle:nil];
headViewController.view.frame = CGRectMake(0, 0, 320, 120);
[self.view addSubview:headViewController.view];
}
и
@interface MyController ()
@property (nonatomic, strong) HeadViewController *headViewController;
@end
в определении скрытого интерфейса в начале файла реализации класса .m
.