gpt4 book ai didi

ios - View 在屏幕上,但 self.view.window 仍然为零

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

我有一个 ViewController,比如说 FooViewController,它有一个属性:

@property (nonatomic, strong) NSAttributedString *foo;

我想在view出现的时候更新UI,所以viewDidLoad和foo的setter是这样的:

- (void)viewDidLoad
{
[super viewDidLoad];
self.foo = [[NSAttributedString alloc] initWithString:@"test" attributes:@{ NSForegroundColorAttributeName : [UIColor greenColor]} ];
}

- (void)setFoo:(NSAttributedString *)foo
{
_foo = foo;
if (self.view.window) [self updateUI];
}

我希望 updateUI 方法会在 View 显示在屏幕上时被调用,但它没有。只有当我删除 if (self.view.window) 时,该方法才会被调用。这里有什么问题?

谢谢

最佳答案

将代码移动到 viewDidAppear(或只是调用 [self updateUI] 的部分)。

正在加载仅仅意味着它已经从 NIB 反序列化,而出现意味着它是 View 层次结构的一部分。

关于ios - View 在屏幕上,但 self.view.window 仍然为零,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28738840/

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