2012-10-11 84 views
2

我寫作和iOS應用程序,它與Google連接以識別新用戶(registrationviewcontroller)。因此,該應用程序打開一個Web瀏覽器來完成識別過程。當識別過程完成並返回到應用感謝我自己的URL方案我想打開一個新的視圖,而不是registrationviewcontroller之一。打開新的ViewController

首先,哪裏是調用新視圖控制器的最佳位置?在APPdelegate的方法applicationDidBecomeActive中?或從註冊視圖控制器的加載方法?其次,我如何午餐新的ViewController?

在此先感謝

+0

你打開Safari或在應用程序內的web視圖中打開URL? – iDev

+0

我從Safari打開。 –

+0

那我想這會很困難。你可能不得不嘗試在webview中打開它,一旦你得到響應,你可以從那裏啓動任何viewcontroller。一旦它進入Safari,我不確定您是否可以從那裏獲得任何反饋給您的應用程序。 – iDev

回答

0

如果我理解你的權利,應用程序被通過自定義URL方案打開。所以

-(BOOL) application:(UIApplication *)application handleOpenURL:(NSURL *)url { 

會當你的應用程序重新開放被調用,你可以很容易地提供有一個視圖控制器,例如:

SampleViewController *viewController=[[SampleViewController alloc] init]; 
[self presentModalViewController:navController animated:YES]; 

BTW:我建議你到模態顯示registrationViewController,如果你還沒有,這樣你可以在handleOpenURL中簡單地解僱它,而不需要上面列表中的代碼。例如:

[SampleSuperViewController dismissModalViewControllerAnimated:YES]; 
+0

你不能調用[self presentModalViewController:navController animated:YES];因爲APPDelegate它不是一個ViewController。 –

+0

對不起。您必須在應用程序委託中使用對根視圖控制器的引用。嘗試使用self.window.rootViewController –

相關問題