Контроллерам контейнерного представления иногда нужно поместить представления содержащихся контроллеров в определенные подпредставления их собственного представления.(Например, переопределение SplitViewController может иметь левое и правое позиционные представления, содержащие представления главного и подробного контроллера соответственно.) Предоставление fromViewController сообщает UIViewController, где в иерархии представления следует вставить представление нового контроллера, а также какой конкретный вид следует удалитьпосле анимации.
(в отличие от другого ответа, фреймы представлений для вас вообще не установлены. Вы делаете это до вызова и в блоке анимации.Системное руководство " Создание пользовательских контроллеров представления контейнеров " в документации имеет довольно хороший пример.)
Как это происходит, на самом деле использование transitionFromViewController:...
представляется необязательным.Вы можете управлять своей иерархией представления вручную, с анимацией или без нее, и она отлично работает.Я все еще формирую свое мнение, но я думаю, что предпочитаю делать это вручную, чтобы легче обрабатывать случаи, когда один из VC равен нулю.