2013-09-30 109 views
0

我有一個正常的視圖控制器與xib,m和h文件。我希望當視圖加載它時自動調用一個方法。在我當前的M文件中,我有代碼調用另一個視圖,這只是讓我可以看到checkIfLogged方法是否工作。當應用程序加載時,它不會調用其他視圖,而是保留在它自己的視圖中。如何獲取視圖負載時調用的checkIfLogged方法?實際上,如果可能的話,我寧願在視圖被加載之前調用該方法。視圖加載時未調用方法

這是我的M文件。

#import "ViewController.h" 
#import "LoginView.h" 

@interface ViewController() 

@end 

@implementation ViewController 
-(void) viewDidLoad{ 
    [self checkIfLogged]; 
} 

- (void) checkIfLogged 
{ 
    LoginView *loginView = [[LoginView alloc] initWithNibName:@"LoginView" bundle:nil]; 
    [loginView setModalPresentationStyle:UIModalPresentationFormSheet]; //you can change the way it is presented 
    [loginView setModalTransitionStyle:UIModalTransitionStyleCoverVertical]; //you can change the animation 
    [self presentViewController:loginView animated:YES completion:nil]; //show the modal view 


}//end checkIfLogged 

@end 

這裏是我的.h文件

#import <UIKit/UIKit.h> 

@interface ViewController : UIViewController 

-(IBAction)checkIfLogged; 

@end 

回答

2

首先,調用[super viewDidLoad];在你viewDidLoad實施的第一行。

其次,你不應該嘗試從viewDidLoad提交視圖控制器。您的UIViewController的視圖此時不是視圖層次結構的一部分。改爲從viewDidAppear:出示視圖控制器。