E 'abbastanza semplice da fare generazione un'interfaccia utente completamente programmatica. In primo luogo, è necessario modificare main.m a guardare qualcosa di simile al seguente:
int main(int argc, char *argv[])
{
NSAutoreleasePool *pool = [NSAutoreleasePool new];
UIApplicationMain(argc, argv, nil, @"MyAppDelegate");
[pool release];
return 0;
}
dove MyAppDelegate è il nome della vostra classe di applicazione delegato. Ciò significa che verrà creata un'istanza di MyAppDelegate all'avvio, che viene normalmente gestita dal file Nib principale per l'applicazione.
All'interno MyAppDelegate, implementare l'applicationDidFinishLaunching: metodo simile al seguente:
- (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];
}
dove MyRootViewController è il controller della vista per la vista primaria nella finestra. Questo dovrebbe inizializzare la finestra principale e aggiungere la vista gestita da MyRootViewController. rootController viene mantenuto come variabile di istanza all'interno del delegato, per riferimento futuro.
Questo dovrebbe consentire di generare in modo programmatico l'interfaccia utente tramite MyRootViewController.
fonte
2009-05-01 16:27:46
Sì, dovresti essere in grado di fare ciò che stai cercando di fare inizializzando e aggiungendo la tua vista e sottoviewview all'interno di loadView. Cura di pubblicare il tuo codice? –
Posso cestinare il pennino e impostare il plist Pennino principale su zero? Quando faccio questo, si rompe, perché il AppDelegate prefabbricato è impostato per caricare la finestra principale e visualizzare i pennini del controller. –