如何在NSMutableArray中保存UILabel的属性?

时间:2014-09-21 03:19:22

标签: objective-c iphone ios7

例如,

-(void)drawHypnoticMessage:(NSString *)message{

....


UILabel messageLabel = [[UILabel alloc]init];

messageLabel.backgroundColor = [UIColor clearColor];
messageLabel.textColor = [UIColor whiteColor];
messageLabel.text = message;

[messageLabel sizeToFit];

int width = (int)(self.view.bounds.size.width - messageLabel.bounds.size.width);

int x = arc4random() % width;

int height = (int)(self.view.bounds.size.height - messageLabel.bounds.size.height);

int y = arc4random() % height;

CGRect frame = messageLabel.frame;
frame.origin = CGPointMake(x,y);
messageLabel.frame = frame;

[self.view addSubview:messageLabel];

...}

我希望能够添加此标签" messageLabel"到这样的NSMutable数组:

NSMutableArray *thisArray;

[thisArray addObject:messageLabel];

然后在STATE RESTORATION之后访问它,如下所示:

UILabel *thisLabel = [thisArray objectAtIndex:0];
[self.view addSubview: thisLabel];

出于某种原因,当我尝试访问存储在NSMutableArray中的UILabel时,文本在---> thisLabel.text< ---显示为空。另外,当我尝试在STATE RESTORATION之后再次访问它时,---> thisLabel< ---中的所有属性也显示为空。

如:

---> thisLabel.textColor< ----显示为空。 ---> thisLabel.frame< ----显示为空。

有人可以帮我解决这个怪癖吗?这真的令人沮丧。

1 个答案:

答案 0 :(得分:0)

  

我希望能够将此标签“messageLabel”添加到NSMutable   像这样的数组:

     

NSMutableArray * thisArray;

[thisArray addObject:messageLabel];

你记得先说

吗?
thisArray = [[NSMutableArray alloc]init];