Quero carregar uma segunda visualização no início de um programa. Eu pensei que o método viewDidLoad seria o método certo. O problema é que não funciona.
O motivo pelo qual desejo carregar uma visualização no método viewDidLoad é que é possível em um novo dispositivo (iPad) carregar uma visualização sobre a outra visualização.
Como posso fazer isso? Tentei fazer isso, mas não funcionou:
- (void)viewDidLoad {
StartViewController * start = [[StartViewController alloc]initWithNibName:nil bundle:nil];
start.modalTransitionStyle = UIModalTransitionStyleFlipHorizontal;
start.modalPresentationStyle = UIModalPresentationFormSheet;
[self presentModalViewController:start animated:YES];
}
Tentei addSubview e funcionou, mas nãotenha uma boa transição. Qualquer ideia? Eu também tentei o awakeFromNib. Além disso, esta não é uma questão sobre o iPad, então eu não quebrei o nda. É uma questão geral, como carregar uma nova visualização no método viewDidLoad (ou outro método).
Respostas:
9 para resposta № 1Isso funciona com viewDidAppear, não viewDidLoad.A vista precisa ter aparecido para que outra apareça na frente dela. Além disso, tenho o mesmo código em alguns dos meus projetos, faz o que você descreve
0 para resposta № 2
Tente usar o seguinte código
- (void)viewDidLoad {
[super viewDidLoad];
//I mean after above line
if(![self isLogin]) {
//to login the user
[self gotoCredentials];
}
}
-(void)gotoCredentials {
Login *objLoginViewController=[[Login alloc] initWithNibName:@"Login" bundle:nil];
UINavigationController *objnavigationController = [[UINavigationController alloc]
initWithRootViewController:objLoginViewController];
objnavigationController.modalPresentationStyle=UIModalPresentationFormSheet;
[self presentModalViewController:objnavigationController animated:YES];
[objLoginViewController release];
objLoginViewController=nil;
[objnavigationController release];
objnavigationController=nil;
}
o código acima funciona bem para mim