2010-01-31 56 views
2

我想在程序的開頭加載第二個視圖。我認爲,viewDidLoad-methode是正確的方法。問題是它不起作用。如何在viewDidLoad中加載視圖?

我想在viewDidLoad方法中加載視圖的原因是,它有可能在新設備(iPad)上加載其他視圖的視圖。

我該怎麼做?我試過這個,但它不起作用:

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

我試過addSubview,它的工作原理,但我沒有很好的過渡。任何想法?我也嘗試了awakeFromNib。 另外這不是關於iPad的問題,所以我不打破nda。這是一個普遍的問題,如何在viewDidLoad方法(或其他方法)中加載新視圖。

回答

9

這適用於viewDidAppear,而不是viewDidLoad。這個觀點需要出現在另一個人面前。除此之外,我有我的一些項目相同的代碼,做什麼你描述

+0

正如我所說的,它不起作用。我在兩個項目中嘗試過它,但它不起作用。但是我的代碼並沒有錯,因爲我把它放在一個IBAction中並且工作。 – Flocked 2010-01-31 23:59:54

+1

明白了!我只需要寫 - (void)viewDidAppear:(BOOL)動畫,我忘了:(BOOL)動畫; – Flocked 2010-02-01 00:05:07

0

嘗試使用下面的代碼

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

上面的代碼工作正常,我

相關問題