/ / Jak załadować widok w viewDidLoad? - iPhone, kontroler uiview

Jak załadować widok w viewDidLoad? - iphone, uiviewcontroller

Chcę załadować drugi widok na początku programu. Myślałem, że metoda viewDidLoad będzie odpowiednią metodą. Problem polega na tym, że to nie działa.

Powodem, dla którego chcę załadować widok w metodzie viewDidLoad, jest to, że na nowym urządzeniu (iPadzie) można załadować widok nad innym widokiem.

Jak mogę to zrobić? Próbowałem tego, ale to nie działa:

- (void)viewDidLoad {
StartViewController * start = [[StartViewController alloc]initWithNibName:nil bundle:nil];
start.modalTransitionStyle = UIModalTransitionStyleFlipHorizontal;
start.modalPresentationStyle = UIModalPresentationFormSheet;
[self presentModalViewController:start animated:YES];
}

Próbowałem addSubview i działa, ale potem niemiłego przejścia. Dowolny pomysł? Próbowałem także obudzić FromNib. Nie jest to również pytanie o iPada, więc nie łamie nda. Jest to ogólne pytanie, jak załadować nowy widok w metodzie viewDidLoad (lub innej metodzie).

Odpowiedzi:

9 dla odpowiedzi № 1

Działa to z viewDidAppear, a nie viewDidLoad. Widok musi się pojawić, aby inny mógł się przed nim pojawić. Poza tym mam ten sam kod w niektórych moich projektach, robi to, co opisujesz


0 dla odpowiedzi nr 2

Spróbuj użyć następującego kodu

- (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;
}

powyższy kod działa dla mnie dobrze