UILabel没有显示文字

时间:2011-05-31 11:51:03

标签: iphone objective-c view uilabel

我有一个UILabel

IBOutlet UILabel *lblMissionLevel;
[lblMissionLevel setFrame:CGRectMake(0, -55 , 177.0, 43.0)];

UIView *view= [[UIView alloc] initWithFrame:CGRectMake(11.0, 55.0, 480, 500)];
[view addSubview:lblMissionLevel];

我正在使用

设置文本
lblMissionLevel.text = @"My String";

我的问题是,大多数情况下它会显示正确的文字,但有时它只显示

Label

我无法追踪问题,因为它不一致。

请帮忙。如果有人需要进一步澄清,请询问..

4 个答案:

答案 0 :(得分:1)

如果这是间歇性的,那么可能的原因是内存不足警告,这将导致任何非活动视图卸载。如果您没有处理重新加载此视图,一旦视图再次变为活动状态,您将看到默认的标签标题(它将加载但您可能没有调用标签标题等的初始化)。

我有同样的事情,直到我注意到内存警告级别1然后它会发生。我添加了代码以正确地重新加载视图(正确设置所有UI控件标题),这一切都很好!

答案 1 :(得分:0)

我有时会遇到这个问题,你最好申请(在你的班级标题中)

@property(nonatomic, retain) UILabel *lblMissionLevel;

然后确保在self.

之前致电lblMissionLevel.text = @"My String";

记得在陈述类实现后合成

答案 2 :(得分:0)

在上面这一行尝试这个,很可能你的ivar没有从你的笔尖设置

    NSAssert(lblMissionLevel, @"lblMissionLevel is nil");

然后阅读如何使用NSAssert非常方便

答案 3 :(得分:0)

您是否知道为UILabel设置负值。

[lblMissionLevel setFrame:CGRectMake(0, -55 , 177.0, 43.0)];

设置字符串值后,尝试打印lblMissionLevel.text的内容。

lblMissionLevel.text = @"My String";
NSLog(@"My Label Text %@", lblMissionLevel.text);

同时检查UILabel的绘图位置。