我刚刚开始玩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。
答案 0 :(得分:1)
viewDidLoad是系统调用的委托方法。自己打电话不是一个好主意。那个动画听起来不像我所知道的任何系统动画。
我会查看UIViewController的生命周期方法viewDidLayoutSubviews,viewWillAppear,viewDidAppear,并检查动画块中是否正在更改帧或约束。