Вот простой пример того, как вы можете это сделать, не используя NIB:
В вашем AppDelegate didFinishLaunchingWithOptions:
вы создаете экземпляр своего пользовательского контроллера представления и добавляете его как подпредставление окна (довольно стандартно).
- (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions
{
RootViewController *vc = [[RootViewController alloc] initWithNibName:nil bundle:nil];
[self.window addSubview:vc.view];
[self.window makeKeyAndVisible];
return YES;
}
При создании экземпляра vc
вы используете назначенный инициализатор, который будет вызываться на новом экземпляре контроллера представления. Вы не указываете ни одно перо, потому что вы будете выполнять свою пользовательскую инициализацию внутри метода:
- (id)initWithNibName:(NSString *)nibNameOrNil bundle:(NSBundle *)nibBundleOrNil
{
self = [super initWithNibName:nibNameOrNil bundle:nibBundleOrNil];
if (self) {
[self.view setBackgroundColor:[UIColor orangeColor]];
UILabel *label = [[UILabel alloc] initWithFrame:CGRectMake(0, 0, self.view.frame.size.width, self.view.frame.size.height)];
[label setBackgroundColor:[UIColor clearColor]];
[label setNumberOfLines:2];
[label setText:@"This is the vc view with an\norange background and a label"];
[label setTextColor:[UIColor whiteColor]];
[label setTextAlignment:UITextAlignmentCenter];
[self.view addSubview:label];
[label release];
}
return self;
}