Я пытаюсь отобразить несколько объектов UIViewController в одном представлении. Пока я хочу отобразить один объект UIViewController при загрузке приложения. Но экран приложения выглядит пустым, в то время как он должен отображать метку внутри контроллера дочернего представления.iOS: UIViewController не отображает другой UIViewController с использованием раскадровки
Вот что я сделал:
ParentViewController.h
#import <UIKit/UIKit.h>
@interface ParentViewController : UIViewController
{
UIViewController *child1Controller;
UIViewController *child2Controller;
}
@end
ParentViewController.m
#import "ParentViewController.h"
#import "Child1Controller.h"
#import "Child2Controller.h"
@interface ParentViewController()
@end
@implementation ParentViewController
- (id)initWithNibName:(NSString *)nibNameOrNil bundle:(NSBundle *)nibBundleOrNil { ... }
- (void)viewDidLoad
{
child2Controller = [[Child2Controller alloc] init];
[self.view addSubview:child2Controller.view];
[super viewDidLoad];
// Do any additional setup after loading the view.
}
- (void)viewDidUnload { ... }
- (BOOL)shouldAutorotateToInterfaceOrientation:(UIInterfaceOrientation)interfaceOrientation { ... }
@end
Затем в раскадровке в интерфейсе строителя
- добавить 3 вид контроллеры
- присвоен класс каждому из них ParentViewController, Child1Controller & Child2Controller
- в объекте Child2Controller, добавил UILabel взгляд изнутри.
- в Child2Controller.h определил IBOutlet для UILabel и добавил синтезировать заявление на то же самое в Child2Controller.m
- , наконец, в проекте-Info.plist установите главный раскадровки файл
Я не пропустить что-то более Вот?
+1 это действительно хорошо работает. Но то, что я хотел бы выяснить, это то, что я сделал неправильно в коде/потоке, который я опубликовал. – vikmalhotra
@ShiVik Что относительно Child2Controller? Загружен ли xib или вы переопределили метод * loadView *? –
Нет. Я не создавал новый файл xib или 'loadView'. Что я сделал, так это то, что я добавил UIViewController в раскадровку и назначил свой пользовательский класс 'Child2Controller' в инспекторе идентификации. – vikmalhotra