Swift自定义TabBar控制器:停止初始加载布局的动画

时间:2015-11-02 00:15:50

标签: ios swift animation

我刚刚开始玩iOS,所以假设知之甚少。我们使用的是xib,而不是故事板和自定义标签栏。当我们用

切换到新的导航控制器和相关视图时
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迭代它们。

但是遇到了与委托相关的错误,并且可选值设置为nil。

1 个答案:

答案 0 :(得分:1)

viewDidLoad是系统调用的委托方法。自己打电话不是一个好主意。那个动画听起来不像我所知道的任何系统动画。

我会查看UIViewController的生命周期方法viewDidLayoutSubviews,viewWillAppear,viewDidAppear,并检查动画块中是否正在更改帧或约束。