2013-11-29 2 views
0

У меня есть код для перехода от одного UIViewController к UIViewController с раскадровки.UIViewController Transition Goes To Black

#import "How_FarViewController.h" 

MainViewController *screen = [[MainViewController alloc] initWithNibName:nil bundle:nil]; 
screen.modalTransitionStyle = UIModalTransitionStyleFlipHorizontal; 
[self presentModalViewController:screen animated:YES]; 

Но когда я иду, чтобы нажать, он делает флип-анимацию и просто показывает черный. В чем моя проблема?

Спасибо, SebOH

ответ

1

Вы используете раскадровки, поэтому вернитесь в раскадровку. Я предполагаю, что на раскадровке есть MainViewController и How_FarViewController. Если это так, вам нужно добавить segue из элемента управления в контроллер вида, который вы хотите перевернуть на родительский контроллер представления.

Для этого необходимо щелкнуть элемент управления и перетащить его на контроллер вида, который вы хотите отобразить и отпустить. Появится небольшое диалоговое окно с вопросом о том, какой тип вы хотите: выберите «Модаль». Это создаст modal segue, который отображается как стрелка с кругом в нем, который отображает тип.

Чтобы обеспечить переход по горизонтали, убедитесь, что выбрана стрелка «Сгиб», и перейдите в Инспектор атрибутов. На панели «Инспектор атрибутов» вы увидите выбор «Переход», щелкните раскрывающийся список и выберите «Отразить по горизонтали».

Окончательный удалить код, который вы выше, компилировать и запускать. Раскадровка управляет всеми остальными. Но не забудьте добавить кнопку в свой контроллер модального просмотра, чтобы отклонить контроллер модального представления, или вы будете застряли в модальном режиме, как только вы его вызовете.

+0

Большое спасибо за ответ. «Раскадровка» и «MainViewController» являются отдельными «.xib». –

+1

Технически раскадровка не является XIB. Это контейнер, который управляет «сценами». Сцена состоит из иерархии объектов вида, а контроллер вида управляет корневым представлением. Он действует как XIB в том смысле, что он используется для определения того, какие объекты создаются, а затем связывает их по определенным вами правилам. Но истинная сила раскадровки - это возможность перехода между сценами с небольшим или отсутствующим кодом. – Rob

+0

Если этот ответ был полезен, отметьте его как ответ. Благодарю. – Rob

0

Закончено просто добавить это в IBAction, ТАК ПРОСТО!

[[self presentingViewController] dismissViewControllerAnimated:YES completion:nil];