2013-05-08 36 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; 
    } 
}