gpt4 book ai didi

iphone - UIViewController:viewWillAppear被调用,viewDidAppear没有被调用

转载 作者:行者123 更新时间:2023-12-03 18:21:25 25 4
gpt4 key购买 nike

在 UIViewController 子类中,我有以下方法:

-(void)viewWillAppear:(BOOL)animated {
[super viewWillAppear:animated];
// do something
myTextField.text = @"Default";
}

- (void)viewDidAppear:(BOOL)animated {
[super viewDidAppear:animated];
// do something
[myTextField selectAll:self];
[myTextField becomeFirstResponder];
}

- (void)viewDidLoad {
[super viewDidLoad];
// do something
myTextField.delegate = self;
}

NIB 已使用 Interface Builder 创建。导航 Controller 通过pushViewController推送对应的 View Controller 对象。

预期行为是在文本字段中显示默认文本条目、选择整个文本并将文本字段设置为第一响应者。 [编辑:我注意到选择所有作为第一响应者是没有意义的,因为选择会消失;尽管如此,我还是想知道为什么这些方法的行为如下所述。]

但是,当调用 viewDidLoad 和 viewWillAppear 方法时,不会调用 viewDidAppear 方法。有人能告诉我为什么吗?我在网上找到的大多数问题以及这里涉及 viewWillAppear/viewDidAppear 的问题都不起作用;我还了解到,在 subview 或以编程方式创建的 View 中,不会调用这些方法;但这不适用于这种情况,而且我想知道为什么会调用这些“生命周期”方法之一,而另一个则不会。

有什么想法吗?谢谢!

最佳答案

我遇到了这个问题:viewWillAppear 被调用,但 viewDidAppear 没有被调用!

我终于发现这是因为我有一个 tabBarController ,我在其中重载了它自己的 viewDidAppear 并忘记了 [super viewDidAppear:animated];

它抛弃了每个选项卡中的每个 VC!重新添加该行修复了我的其他 VC

希望这对某人有帮助!

关于iphone - UIViewController:viewWillAppear被调用,viewDidAppear没有被调用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4346154/

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