2013-05-08 4 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

+0

ли вы pelase помочь мне в этом вопросе 'presentModalViewController: анимированный:' Устаревший: первый устарел в iOS 6.0 – SaedH

+0

Отредактировано ответ – Bonnie

0

С помощью навигации контроллера после внедрения навигационного контроллера в сцене

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

Вы можете добиться этого с помощью ручного Segue. В режиме управления раскадрой - перетащите из контроллера представления экрана входа в контроллер домашнего просмотра (убедитесь, что вы уменьшены в раскадровке, так что вы фактически выбираете viewcontrollers, а не subviews в них) и выберите «модальный» как тип segue. Затем выберите сам сегмент и в инспекторе атрибутов укажите ему идентификатор, например «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; 
    } 
} 
Смежные вопросы