gpt4 book ai didi

ios - 从代码实例化 View Controller - viewDidLoad 何时调用 iOS

转载 作者:行者123 更新时间:2023-11-28 18:37:44 25 4
gpt4 key购买 nike

我正在使用类似的东西:
VC = [[SettingsViewController alloc] initWithNibName:nil bundle:nil];

viewDidLoad 还没有被调用。
但是当我这样做时:
VC.view.frame = CGRectMake(...);

此时viewDidLoad被调用。

但问题是,我在上面的代码语句中传递的 View 尺寸没有用在 viewDidLoad 方法中。
我认为它看到正在使用 View ,所以是时候加载 View 了,并且在加载 View 之后它必须将框架尺寸分配给 View 。但是,如果我想在调用 viewDidLoad 之前设置 View 尺寸,以便我可以在 viewDidLoad 方法中使用这些尺寸,该怎么办?
initWithFrame..

这样的东西

此外,我在 View Controller 中没有 View 尺寸。我必须从 VC 外部分配 View 尺寸。
所以可能在调用 initWithNibName:bundle: 方法后,我可以将 View 框架尺寸保存在某个变量中..但这看起来不像是一个干净的解决方案,不是吗?

最佳答案

viewDidLoad 在 View 加载时调用。 (惊喜)

因此当您调用 VC.view 时,在它返回之前,将执行 viewDidLoaded 然后返回 View ,并设置框架。

所以从你目前的做法来看,这是不可能的

无论如何,为什么你需要 viewDidLoad 中的 View 框架?也许您可以将该部分移动到 viewWillAppear/viewDidAppear 中,它仅在 View 即将呈现时被调用

关于ios - 从代码实例化 View Controller - viewDidLoad 何时调用 iOS,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15921295/

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