0

我需要从没有创建标签的方法中设置标签的文本。

标签是在viewdidload上创建的,而需要更改标签的方法不在viewdidload中。

非常感谢您的帮助。

4

2 回答 2

2

您可以将该 UILabel 创建为属性:

在 YourClass.h

@property (nonatomic, retain) UILabel *myLabel;

在 YourClass.m 中合成它

@synthesize myLabel;

现在,当您在 viewDidLoad 方法中创建此标签时,请这样做

self.myLabel = [[UILabel alloc] init] autorelease];
//set the frame, color and text properties here
self.myLabel.text = @"initial text";
self.myLabel.frame =  CGRectMake(0,0,30,100);

每当您需要访问 UILabel 来更新它的任何属性(如文本)时,您都可以使用 self 访问器来执行此操作:

self.myLabel.text = @"Updated text here";

执行此操作时,请确保在 viewDidUnload 中将 myLabel 设置为 nil 以正确处理内存。

于 2012-07-20T11:19:12.820 回答
0

将 uilabel 作为类的实例变量。在 viewdidload 中对其进行初始化,并以您想要的任何方法设置文本。

编辑:检查此代码示例:在标题中:

UILabel *myLabel;

在实施中:

-(void) viewDidLoad {
     myLabel = [[UILabel alloc] initWithFrame:myFrame]];
     [self.view addSubview:mylabel]
 }
 -(void)sumOtherMethod {
     myLabel.text = @"this is my text";
 } 
于 2012-07-20T11:02:21.107 回答