gpt4 book ai didi

ios - 调用super.viewWillAppear(animated)时动画是从哪里来的?

转载 作者:搜寻专家 更新时间:2023-10-31 21:59:02 24 4
gpt4 key购买 nike

在我看到的覆盖 viewWillAppear(_ animated: Bool) 的示例中,我对为调用 super 函数传递的参数感到困惑:

super.viewWillAppear(animated)

我假设“animated”是一个设置为 true 的 Bool,但是这个 Bool 是从哪里来的呢?它没有在我的 UIViewController 的其他地方声明,也不是 UIViewController 的属性。

最佳答案

animated 由调用者传递给 viewWillAppear()override func viewWillAppear(_ animated: Bool) 意味着 viewWillAppear() 接收一个 Bool 值,它将被称为动画 函数内部。

所以:

override func viewWillAppear(_ animated: Bool) {
super.viewWillAppear(animated)
}

只是将它收到的 Bool 值传递给它的父类(super class)。

那么,这个值(value)从何而来?

当 viewController 被推送时:

self.navigationController?.pushViewController(myVC, animated: false)

或模态呈现:

self.present(myVC, animated: false, completion: nil)

Bool 值被传递给 iOS,告诉它如何呈现新的 viewController。

I assume that "animated" is a Bool that is set to true

如果 animated 始终为 true,则没有理由将其作为输入值。它基于呈现 viewController 希望呈现新 viewController 的方式。

如果 viewController 在 Storyboard 中以 segue 呈现,则 animated 值来自 Animates 属性检查器segue的复选框。

关于ios - 调用super.viewWillAppear(animated)时动画是从哪里来的?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/46107409/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com