2015-04-05 5 views
3

У меня есть контроллер VC1, который представлен по всему экрану с любого другого VC0. В моей раскадровке у меня есть модальный отход от VC1 до VC2, также представляющий полный экран. Когда в моем приложении я могу явно видеть VC2 над VC1 над VC0, потому что некоторые части их представлений прозрачны. Отлично.Существующий контроллер модального представления над контроллером модального вида

Тем не менее, я собираюсь повторно использовать VC2 много раз, поэтому не хочу, чтобы для каждого контроллера в моем раскадровке был нужен segue, поэтому я хочу сделать то же самое программно. Однако, когда я вызываю presentViewController: анимированный: завершение в VC1 для представления VC2, вид VC1 исчезает, когда модальный переход завершен. Когда VC2 отклоняется, вид VC1 снова появляется, когда анимация перехода завершена.

Как я могу получить тот же эффект программным способом, что и при использовании расписания?

ответ

8

Вам необходимо установить modalPresentationStyle свойства данного контроллера на UIModalPresentationOverFullScreen. Установите это свойство непосредственно перед тем, как позвонить presentViewController:animated:completion.

7
let newView = self.storyboard!.instantiateViewControllerWithIdentifier("NewViewController") as! NewViewController 

newView.modalPresentationStyle = UIModalPresentationStyle.OverFullScreen 

self.presentViewController(newView, animated: true, completion: nil) 
Смежные вопросы