2012-02-07 42 views
0

在我的AppDelegate.m中,我使用以下代碼來顯示模態UIWebView(登錄頁面)。顯示用於登錄頁面的UIWebView模態

@synthesize window, viewController; 

- (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions { 

    if (NotLoggedIn]) { 
     window = [[UIWindow alloc] initWithFrame:[[UIScreen mainScreen] bounds]]; 
     viewController = [[UIViewController alloc]init]; 
     viewController.view.frame =CGRectMake(0, 0, 320, 480); 
     viewController.view.backgroundColor = [UIColor whiteColor]; 
     [window addSubview:viewController.view]; 
     [viewController viewWillAppear:YES]; 
     [window makeKeyAndVisible]; 

     // continue with verification if login was successful 
    } else { 
     // show the maincontroller for the UIStoryboard 
    } 

    return YES; 
} 

當成功登錄時,UIWebView應該消失並且應該顯示故事板中的根控制器。我如何重寫上面的代碼?

回答

0

一種選擇是從你的主視圖控制器的viewDidLoad方法中模態地呈現你的登錄頁面,例如,

- (void)viewDidLoad 
{ 
    [super viewDidLoad]; 

    [self presentModalViewController:loginWebViewController animated:YES]; 
} 

其中loginWebViewController包含您的登錄頁面。成功登錄後,關閉模態視圖控制器。

0

您應該採用UIWebViewDelegate協議,並確定這些委託方法中的登錄是否成功,然後解除ModalViewController或調用UIWebView的removeFromSuperView。