2011-09-18 21 views
0

Hihi all,iPhone :: Objective-C - AddSubview在我的初始UIViewController ViewDidAppear

這可能是一個愚蠢的問題。我想在啓動我的應用程序時導航到我的「登錄視圖」。我目前的嘗試:

  1. 在我的第一UIViewController的viewDidAppear方法,執行[自我presentModalViewController:LoginView動畫:是],這工作,但屏幕首先顯示我的主要的UIView,然後滑動從底部我LoginView頂部。如果沒有動畫,我找不到方法。

  2. 在我的第一個UIViewController的viewDidAppear方法中,執行[self.view addSubview:LoginView.view],它以exc_bad_access錯誤結束。

基本上,我的要求是在該應用程序的開始執行特定的檢查,如果需要的登錄,應用程序應顯示一個LoginView,否則,它應該保持作爲我的主要的UIView。

請指教什麼是達到此目的的最佳方式,而不是上述兩種愚蠢的方法。提前致謝!

:)

+0

您遇到使其聽起來像有一個與你創建你的登錄視圖控制器對象的方式中的問題的崩潰。也許你可以向我們展示更多與此相關的代碼? –

+0

我遵循Roshit的解決方案將我的檢查例程移至我的應用程序委託中的didFinishLaunchingWithOptions,它的工作原理類似於魅力。感謝您的建議! :) –

回答

0

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

例如嘗試它:

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

    self.window.rootViewController = self.navigationController; 
    [self.window makeKeyAndVisible]; 

    LoginViewController *aLoginViewController = [[LoginViewController alloc] init]; 
    [self.navigationController presentModalViewController:aLoginViewController animated:NO]; 
    [aLoginViewController release]; 

    return YES; 
} 
+0

有了這個,加載我的LoginView時應用程序崩潰... –

+0

這應該工作... :(是否有可能分享您的代碼片段 – Roshit

+0

我的不好,連續崩潰一段時間後,我有在嘗試這個解決方案之前犯了一個愚蠢的錯誤,它在清除錯誤後終於運行了。非常感謝!:) –

0

你的第一步是一個好辦法.. 但停止動畫,它很簡單。將動畫設置爲NO。

[self presentModalViewController:aLoginViewController animated:NO];

一旦你完成了我們的驗證,只需關閉這個aLoginViewController即可。

+0

如果我將動畫設置爲NO,我的LoginView根本不顯示。它只停留在我的主要UIView。 –

0

而不是-viewDidAppear,它聽起來像你想要使用-viewWillAppear:,這將允許您顯示您的登錄控制器顯示初始視圖之前。

-presentModalViewController:animated是顯示登錄控制器視圖的正確方法。

+0

剛剛嘗試過,對於viewWillAppear,addSubview和presentModalViewController都不起作用。 :( –

相關問題