2013-11-16 5 views
0

Я пишу приложение iPad, в котором есть два основных контроллера вида: LoginController и ViewController. Мне нужно переходить с контроллера просмотра в окно входа снова, когда происходит тайм-аут. Я делаю так, как это:iOS: модальный переход на черный экран?

LoginController *loginView = [[LoginController alloc] init]; 
[loginView setModalTransitionStyle:UIModalTransitionStyleFlipHorizontal]; 
[self presentViewController:loginView animated:YES completion:nil]; 

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

+1

ты серьезно? У вас есть метод INIT EMPTY. Вы должны сказать ему, какой nib вы хотите контролировать с LoginController. –

+0

Я идиот. Прости. Я вижу сейчас. – easythrees

+0

может случиться;) .. –

ответ

1

Я предполагаю, что вы используете раскадровки? Если да, то вам просто нужно изменить эту строку:

LoginController *loginView = [[LoginController alloc] init]; 

Сначала зайдите в Interface Builder и найдите Удостоверение инспектора на правой панели. Назначьте и ID в поле «Идентификатор раскадровки». Затем в вашем коде вы ссылаетесь на контроллер вида следующим образом.

LoginController *loginView = [self.storyboard instantiateViewControllerWithIdentifier:@"theIDfromInterfaceBuilder"]; 
0

Ваш вид LoginController пуст (не имеет ничего на экране), потому что вы выделяете/инициализируете его. Если у вас есть XIB для этого контроллера использовать

- (id)initWithNibName:(NSString *)nibName bundle:(NSBundle *)nibBundle 

Если вы используете раскадровки использовать

[self.storyboard instantiateViewControllerWithIdentifier:@"yourVCIdentifier"];