ios - Swift 自定义 TabBar Controller : stop the animation of the initial load layout

标签 ios swift animation

我刚刚开始使用 iOS,所以假设知识不多。我们使用的是 xibs,而不是 Storyboard和自定义标签栏。当我们切换到新的导航 Controller 和关联的 View 时

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

我们第一次这样做时,会出现一个动画来填充导航栏(来自左侧)和 View (来自上方)。第二次没有动画。无论如何,我可以跳过初始加载时出现的动画吗?

如果 View 尚未初始化,我假设 viewDidLoad 有一些内置的默认动画来解释这一点。我最初认为我可以在我的导航 Controller 上调用这个方法,当我在应用程序的开头创建它们时,就像这样

  UINavigationController(rootViewController: AMRLoginViewController())

然后调用 viewDidLoad 遍历它们。

但这遇到了与委托(delegate)和可选值被设置为 nil 相关的错误。

最佳答案

viewDidLoad是系统调用的委托(delegate)方法。自己调用它从来都不是一个好主意。该动画听起来不像我所知道的任何系统动画。

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

关于ios - Swift 自定义 TabBar Controller : stop the animation of the initial load layout,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33468832/

相关文章:

ios - Crashlytics 和 Google Analytics 以及缺失的 dSYM

ios - 如何从 UITableView 部分 Swift 3 中删除重复项

ios - 等待 block 完成以重新加载 UITableView 数据

ios - 输入时在 Swift 中的文本字段中格式化货币

CSS变量和动画

ios - iOS对UITableView重新排序

ios - 反向推送和弹出 segue 动画?

swift - 使用 Facebook 登录 Firebase 如何进行 segue

css - 规模 :before when hovering

jquery - 使用 CSS 动画对 div 进行动画处理,在两个之间稍作延迟