gpt4 book ai didi

ios - 从 nib 加载 UIView 并将其从 superview 中删除导致 UIButton 恢复为 nib 文本

转载 作者:行者123 更新时间:2023-11-29 10:56:56 24 4
gpt4 key购买 nike

我正在加载一个 xib:

EventFormView *formView = [[[NSBundle mainBundle] loadNibNamed:@"EventFormView" owner:self options:nil] objectAtIndex:0];
formView.delegate = self;

[formView loadEvent:event];

我在 Nib 上有一个按钮:

enter image description here

awakeFromNib: 方法中,我更改了按钮的文本:

self.button.titleLabel.text = @"Done";

当我将 formView 添加到 self.view 时,它会显示“完成”文本。

按下按钮会将其从 self.view 中移除:

-(void)removeForm {
DLog(@"fired");

[UIView animateWithDuration:.25
animations:^{
self.alpha = 0;
}
completion:^(BOOL finished) {
[self removeFromSuperview];
}];
}

这有效,但按钮在淡出时恢复为“测试”的原始文本。 (我有一个 header UIView,它也恢复为 Nib 的背景颜色,而不是我在 awakeFromNib 中分配的颜色)。

这是我第一次真正使用 Nib ,所以不确定我是否做错了什么?

最佳答案

对于 UIButton,您需要使用 setTitle:forState: 方法,因为 UIKit 可能会根据按钮的状态更改您身上的标签。尝试:

[self.button setTitle:@"Done" forState:UIControlStateNormal];

关于ios - 从 nib 加载 UIView 并将其从 superview 中删除导致 UIButton 恢复为 nib 文本,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17868459/

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