В AppDelegate я хочу создать подкласс UIViewController и добавить его в представление. Сам viw будет указан в коде - нет ниба.Создание контроллера представления без наконечника
Основываясь на яблоневых документы, я должен использовать
initWithNibName:nil bundle:nil];
, а затем в loadView контроллера, добавить свои подвидов и т.д.
Однако follwing тестовый код ниже не работает для меня , Я смоделировал код AppDelegate на Apple PageControl demo, просто потому, что мое приложение будет реализовывать аналогичную структуру (в частности, базовый контроллер для управления просмотром прокрутки по страницам и массив других контроллеров для создания страниц).
Но я подозреваю, что мой код AppDelegate является проблемой, поскольку ведение журнала доказывает, что initWithNibName :: и loadView оба огня. Приложение, как показано ниже, запускается, но экран пуст. Я ожидаю зелёный вид с этикеткой.
AppDelegate
- (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions
{
ScrollerController *controller = [[ScrollerController alloc] initWithNibName:nil bundle:nil];
[self.window addSubview:controller.view];
[self.window makeKeyAndVisible];
return YES;
}
ScrollerController (подкласс UIViewController)
- (id)initWithNibName:(NSString *)nibNameOrNil bundle:(NSBundle *)nibBundleOrNil
{
self = [super initWithNibName:nibNameOrNil bundle:nibBundleOrNil];
if (self) {
// Custom initialization
}
return self;
}
- (void)loadView{
CGRect applicationFrame = [[UIScreen mainScreen] applicationFrame];
UIView *contentView = [[UIView alloc] initWithFrame:applicationFrame];
contentView.backgroundColor = [UIColor greenColor];
self.view = contentView;
UILabel *label = [[UILabel alloc] initWithFrame:CGRectMake(40, 40, 100, 40)];
[label setText:@"Label created in ScrollerController.loadView"];
[self.view addSubview:label];
}
Я заметил в демонстрационном проекте, который есть XIB с AppDelegate в качестве владельца fole по - видимому, это оказывает на приложение ту часть, которую я не хватает? –
проверить, что ваш взгляд содержит после просмотраDidLoad – Sulthan
Все, кажется, есть - self.view:> Subviews: 1 Subview 0: > –