Совершенно программная генерация пользовательского интерфейса достаточно проста. Во-первых, вам нужно отредактировать main.m, чтобы он выглядел примерно так:
int main(int argc, char *argv[])
{
NSAutoreleasePool *pool = [NSAutoreleasePool new];
UIApplicationMain(argc, argv, nil, @"MyAppDelegate");
[pool release];
return 0;
}
где MyAppDelegate - имя класса вашего делегата приложения. Это означает, что экземпляр MyAppDelegate будет создан при запуске, что обычно обрабатывается основным файлом Nib для приложения.
В MyAppDelegate реализуйте свой applicationDidFinishLaunching: метод, подобный следующему:
- (void)applicationDidFinishLaunching:(UIApplication *)application
{
window = [[UIWindow alloc] initWithFrame:[[UIScreen mainScreen] bounds]];
if (!window)
{
[self release];
return;
}
window.backgroundColor = [UIColor whiteColor];
rootController = [[MyRootViewController alloc] init];
[window addSubview:rootController.view];
[window makeKeyAndVisible];
[window layoutSubviews];
}
где MyRootViewController - это контроллер вида для основного вида в вашем окне. Это должно инициализировать главное окно и добавить к нему представление, управляемое MyRootViewController. rootController хранится в качестве переменной экземпляра в делегате для дальнейшего использования.
Это должно позволить вам программно генерировать ваш пользовательский интерфейс через MyRootViewController.