2013-05-08 38 views
0

我是iOS 5新手,嘗試使用新的情節串聯功能將我的應用程序編寫爲純iOS 5應用程序。使用情節串聯板登錄屏幕

我有一個開始屏幕(登錄屏幕),所以我不想使用導航控制器,因爲我不需要任何用戶在登錄成功後返回登錄屏幕,而且我不需要導航欄,因爲它影響主屏幕設計。

所以,我需要做的手工SEGUE到登錄界面,檢查用戶名和密碼登錄後:

If(Login Successful) 
    Navigate to the Home View Controller 
else 
    Display Error Message. 

現在這甚至有可能,或者我需要爲2個的故事板?

回答

0
If(Login Successful){ 
     UIStoryboard *storyboard = [UIStoryboard storyboardWithName:@"Storyboard" bundle:nil]; 

     HomeViewController* viewController = [storyboard instantiateViewControllerWithIdentifier:@"HomeViewController"]; 

     [self presentViewController:viewController animated:YES completion:nil]; 
} 

Question

+0

感謝的人,它的正常工作:) – SaedH 2013-05-08 13:09:12

+0

你pelase幫助我在這個問題上 'presentModalViewController:animated:'已棄用:iOS 6.0以前不推薦使用 – SaedH 2013-05-08 13:14:34

+0

編輯答案 – Bonnie 2013-05-08 13:16:12

0

可能重複使用以來在現場

嵌入導航控制器
If(Login Successful){ 
     UIStoryboard *storyboard = [UIStoryboard storyboardWithName:@"MainStoryboard" bundle:nil]; 
     HomeViewController* viewController = [storyboard instantiateViewControllerWithIdentifier:@"HomeViewController"]; 
    [self.navigationController pushViewController:HomeViewController animated:YES]; 
} 
0

您可以用手動賽格瑞實現這一目標後,導航控制器。在故事板控件中,從登錄屏幕視圖控制器拖動到主視圖控制器(確保您在故事板中縮小,以便實際選擇視圖控制器而不是其中的子視圖),並選擇「模式」爲賽格的類型。然後選擇segue本身並在Attributes檢查器中給它一個標識符,例如「loginSuccessful」。然後在你可以寫:

If(Login Successful) 
    [self performSegueWithIdentifier:@"loginSuccessful" sender:self]; 

這將呈現故事板中由segue指向的視圖控制器。 如果你需要顯示它之前做主屏幕的額外的設置,你可以在prepareForSegue方法做這樣如下:

-(void)prepareForSegue:(UIStoryboardSegue *)segue sender:(id)sender 
{ 
    if(segue.identifier isEqualToString:@"loginSuccessful"){ 
     HomeViewController* target =(HomeViewController *) segue.destinationViewController; 
     Target Setup; 
    } 
}