2013-09-30 2 views
5

С iOS7 мы можем создать пользовательский переход с контроллера просмотра для просмотра контроллера с использованием UIViewControllerTransitioningDelegate, который позволяет осуществлять мелкозернистые переходы.iOS7 Реализация UIViewControllerTransitioningDelegate с раскадровки

viewController.transitioningDelegate = transitioningDelegate; 

я обнаружил, что при использовании раскадровки мы уже имели возможность создавать собственные переходы, используя пользовательские UIStoryboardSegue, но, кажется, единственный способ реализовать собственный переход с раскадровки.

Как я могу реализовать делегата перехода при использовании раскадровки?

ответ

3

Проверить http://www.teehanlax.com/blog/custom-uiviewcontroller-transitions/.

Идея заключается в том, чтобы использовать - prepareForSegue: установить transitioningDelegate и modalPresentationStyle к UIModalPresentationCustom. Тогда ваш переходный делегат должен будет позаботиться о переходе.

+0

привет, у меня есть вопрос: я не задал 'modalPresentationStyle' в' prepareForSegue', и у меня есть промежуток времени между методом 'animationControllerForPresentedController' и' animateTransition' (это было замечательно примерно 0,4 секунды, а иногда и 0,7; моя анимация перехода составляла 1 секунду, плюс этот пробел почти в два раза.). Я попытался выяснить, что происходит в этот промежуток времени, но это не было ошибкой (я думаю), потому что у меня нет процесса, который мог бы создать такую ​​задержку. Когда я добавляю modalPresentationStyle = UIModalPresentationCustom, этот пробел исчезает. Почему так? Благодарю. –

+0

Просто предположите: если вы упростите настройку, вы увидите, что происходит анимация. Возможно, так, как вы настраиваете иерархию своего представления, вы не видите эту анимацию. –

3

Заканчивать следующий пример: https://github.com/soleares/SOLPresentingFun

Это реализация образца кода для WWDC Session 218: Пользовательские переходы с использованием вида контроллеров. Он использует раскадровки.

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