2013-08-28 5 views
1

Я пытаюсь переключиться с представления (полностью нормального вида) на другой вид (также обычный), программируемый. Вот мой уже существующий код:Как можно переключиться на существующий, не-навигационный контроллер-вид?

- (IBAction)login:(id)sender { 


if([_username.text isEqualToString:name] && [_password.text isEqualToString:pw]) { 


    DashboardViewController *destinationController = [[DashboardViewController alloc] init]; 
    [self.navigationController pushViewController:destinationController animated:YES]; 

}else { 
     UIAlertView *message = [[UIAlertView alloc] initWithTitle:@"Wrong Username or Password!" 
                  message:@"Sorry." 
                 delegate:nil 
               cancelButtonTitle:@"Okay" 
               otherButtonTitles:nil, nil]; 
     [message show]; 
     _password.text = nil; 
    } 
} 

Итак, я хочу, чтобы относится к моей DashboardViewController. Если я попробую этот код, появится черный пустой вид. Что с этим не так?

+0

У вас есть xib под названием DashboardViewController.xib или DashboardViewController создает собственный вид в loadview? Похоже, что вы не загружаете представление. –

+0

Я использую раскадровку (без файлов nib). Ответ Абдуллы Шафике был действительно полезен! – Kitzng

ответ

1

У меня была такая же проблема! Вот решение, которое я использовал:

UIStoryboard *storyboard = [UIStoryboard storyboardWithName:@"MainStoryboard" bundle: nil]; 
DashboardViewController *viewController = [storyboard instantiateViewControllerWithIdentifier:@"id"]; 
[self.navigationController pushViewController:viewController animated:YES]; 

MainStoryboard должно быть название вашей раскадровки и id должны быть View Controller ID, который можно установить в раскадровке.

+0

Предполагая, что он использует раскадровки –

+0

IT WORKED !! СПАСИБО! Вы не можете поверить, как я счастлив! : D – Kitzng

+0

@KITZNG Используете ли вы [self.navigationController pushViewController: viewController animated: YES]; –

Смежные вопросы