gpt4 book ai didi

iphone - awakeFromNib 中的代码被 Storyboard覆盖

转载 作者:行者123 更新时间:2023-11-29 13:18:13 27 4
gpt4 key购买 nike

我有以下代码:

- (void) awakeFromNib
{
CGRect temp = self.buttonOne.frame;
temp.origin.y += 50;
self.buttonOne.frame = temp;
}

里面的代码什么都不做;当应用加载 buttonOne 时,它​​就在 Storyboard上。

如果我将相同的代码放入 viewDidLoad 中:

- (void)viewDidLoad
{
[super viewDidLoad];
// Do any additional setup after loading the view, typically from a nib.

CGRect temp = self.buttonOne.frame;
temp.origin.y += 50;
self.buttonOne.frame = temp;
}

它起作用了,按钮被下移了。

这是因为在 awakeFromNib 触发和绘制 View 之间发生了什么事吗?

任何澄清都会很棒!

最佳答案

awakeFromNib 将在 Controller 从 nib 文件中取消存档时调用,而 viewDidLoad 将在创建绑定(bind)到 Controller 的 View 时调用。

因此awakeFromNib会在viewDidLoad之前被调用。当调用 awakeFromNib 时, View 还没有被加载(如果它有 viewDidLoad 就会被调用),因此对它的任何更改都不会影响它。

关于iphone - awakeFromNib 中的代码被 Storyboard覆盖,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15099221/

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