Я пытаюсь изучить некоторые новые шаблоны программирования iOS. Я прочитал кучу о переходящих API-интерфейсах UIViewController, добавленных в iOS 7. Они выглядят классно, но также очень тяжелы для того, что кажется более простой задачей.Понимание значения переходов UIViewController
Рассмотрите этот прецедент: У меня есть пользовательский контроллер контейнера, который управляет «слайдами». Он содержит массив контроллеров представления слайдов, и пользователь может перемещаться вперед и назад, хотя они нажимают кнопку.
я могу осуществить переход на это следующим образом:
private func transitionToViewController(viewController: UIViewController, direction: TransitionDirection = .Forward, animated: Bool = true) {
currentViewController.willMove(toParentViewController: nil)
addChildViewController(viewController)
// ... set up frames, other animation prep ...
contentContainerView.addSubview(comingView)
UIView.animate(duration: 0.5, animations: {
// do the animations
}) { (finished) in
leavingView.removeFromSuperview()
self.currentViewController.removeFromParentViewController()
viewController.didMove(toParentViewController: self)
// final clean up
}
}
Как бы новые переходящие API, улучшить это? Насколько я понимаю, эти интерфейсы являются еще более сложными в использовании, если вы свертывают свои собственные контроллеры просмотра контейнера (см custom-container view controller transitions.
ли значение в переходящих API, в основном для интерактивных переходов?
Спасибо за разъяснение
Я согласен, что есть много отдельных классов, и на первый взгляд API выглядит пугающе. Однако документация Apple охватывает все басы и количество кода, которое вам нужно было бы написать для каждого из этих классов, чтобы (скажем) реплицировать поведение 'UIAlertController' не очень много. –