2015-11-02 2 views
0

Я только начал играть с iOS, так что не знайте знаний. Мы используем xibs, а не раскадровку и пользовательскую вкладку. Когда мы переходим на новый контроллер нав и связанное представление сSwift Custom TabBar Controller: остановите анимацию исходного макета загрузки

self.addChildViewController(viewController) 
viewController.view.frame = self.containerView.bounds 
viewController.view.autoresizingMask = [.FlexibleWidth, .FlexibleHeight] 
self.containerView.addSubview(viewController.view) 
viewController.didMoveToParentViewController(self) 
selectedViewController = viewController 

первый раз, когда мы делаем это, есть анимация, которая происходит, чтобы заполнить в навигационной панели (поставляется с левой стороны) и вид (приходит сверху). Во второй раз нет анимации. В любом случае, я могу пропустить анимацию, которая возникает при начальной загрузке?

Я предполагаю, что viewDidLoad имеет встроенную анимацию по умолчанию, чтобы объяснить это, если представление еще не было инициализировано. Первоначально я думал, что я мог бы просто вызвать этот метод на свои контроллеры навигационных когда я создаю их в начале приложения, как так

UINavigationController(rootViewController: AMRLoginViewController()) 

А потом перебирать их вызов viewDidLoad.

Но это столкнулось с ошибками, связанными с делегатами и необязательными значениями, равными нулю.

+2

viewDidLoad - это метод делегата, вызываемый системой. Никогда не стоит так называть себя. Эта анимация не похожа на любую системную анимацию, о которой я знаю. – beyowulf

+0

, если это не системная анимация, что это такое? Я на самом деле сталкивался с ним несколько раз, когда я выискивал iOS, когда при загрузке представления все его элементы будут запускаться где-то вне экрана. Только с использованием этого пользовательского меню вид реализации tho. – Morgan

+0

Справа. Я говорю о «навигационной панели (идет с левой стороны) и представлении (происходит сверху)« Я не могу представить себе системную анимацию, в которой вид «приходит сверху». Вы пишете все контроллеры представлений, которые вы используете. У них есть какие-то пользовательские анимации? Знаете ли вы о каких-либо приложениях, где вы видите эту анимацию, в сочетании с изменением вкладок в UITabBar? Нет анимации по умолчанию от изменения выбранного контроллера представления в UITabBarController. – beyowulf

ответ

1

viewDidLoad - это метод делегата, который вызывается системой. Никогда не стоит так называть себя. Эта анимация не похожа на любую системную анимацию, о которой я знаю.

Я бы посмотрел на методы жизненного цикла UIViewController viewDidLayoutSubviews, viewWillAppear, viewDidAppear и проверить, не изменяются ли кадры или ограничения в блоке анимации.