gpt4 book ai didi

ios - UIButton.titleLabel.frame.size 始终为零值

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

我在 Objective C 上用 xcode 开发了一个项目。前两天一切都很好。现在我的所有按钮和其他控件都不显示其标题文本或图像。我尝试从 Storyboard添加新按钮,但它的文本仍然没有显示。我也尝试从代码添加新按钮,但结果相同。

- (void) addTestButtonProgramatically {
testButton = [UIButton buttonWithType:UIButtonTypeCustom];
[testButton addTarget:self
action:@selector(testButtonSelector:)
forControlEvents:UIControlEventTouchUpInside];
[testButton setTitle:@"TEST TEXT" forState:UIControlStateNormal];
[testButton setBackgroundColor:[UIColor colorWithRed:0.6 green:0.1 blue:1.0 alpha:1.0]];
testButton.frame = CGRectMake(80.0, 210.0, 160.0, 40.0);
[self.view addSubview:testButton];
}


- (IBAction)testButtonSelector:(id)sender {
[testButton.titleLabel sizeToFit]; //this row make text of my button shown
}

也许我错误地更改了造成这种行为的设置。我尝试在另一台计算机上午餐我的项目,但问题仍然存在。

然后我尝试创建新的清晰项目,一切正常,按钮的文本可见。

编辑:

我找到了问题的原因。这是因为我在 UIButton 类别上重新定义了 - (void) layoutSubvies 方法。

@interface UIButton (Coordinator)
@end

@implementation UIButton (Coordinator)
- (void) layoutSubviews {
[super layoutSubviews];
}
@end

感谢所有帮助我找到这一点的人。

最佳答案

[testButton.titleLabel sizeToFit] 添加到 addTestButtonProgramatically 方法。你为什么要在它自己的点击中调整按钮文本的大小......?!。你应该在设置按钮时这样做

更新:

 [self.button layoutIfNeeded]; // call this after adding button in view if you are using autolayout

关于ios - UIButton.titleLabel.frame.size 始终为零值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36790807/

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