Por que não posso mudar o quadro do meu UILabel?

Eu tenho tentado por dois dias para modificar o quadro de umUILabel, o que é ridículo ...UILabel é um IBOutlet, mas essa não é a razão pela qual não está funcionando: eu tentei criar umUILabel programaticamente e ainda não funcionou. Aqui está como eu faço:

self.descriptionLabel.text = description;
self.descriptionLabel.lineBreakMode = NSLineBreakByWordWrapping;

CGSize textSize = [self.descriptionLabel.text sizeWithFont:[UIFont systemFontOfSize:12.0]
                                         constrainedToSize:CGSizeMake(self.descriptionLabel.frame.size.width, FLT_MAX)
                                             lineBreakMode:self.descriptionLabel.lineBreakMode];
CGFloat frameHeight = textSize.height;
CGRect frame = self.descriptionLabel.frame;
frame.size.height = frameHeight;
self.descriptionLabel.frame = frame;

CGRect bounds = self.descriptionLabel.frame;
bounds.origin.x = self.descriptionLabel.frame.origin.x + 10.0;
bounds.size.width = self.descriptionLabel.frame.size.width - 20.0;
self.descriptionLabel.bounds = bounds;
self.descriptionLabel.numberOfLines = 0;

Eu já perguntei no IRC e eles me disseram que não há razão para que o quadro não fosse alterado ...

Eu também tentei criar um quadro comCGRectMake e dar valor arbitrário, mas que não fez o truque também ..

Alguém sabe o que pode ser o problema, por favor?

Editar 1: Eu registrei o quadro antes e depois e obtive resultados estranhos:

Before: 0.000000 0.000000 0.000000 0.000000
After: 0.000000 0.000000 0.000000 33525.000000

A altura após eu definir o quadro é o único valor que faz sentido (eu tenho um monte de texto no rótulo de propósito).

Editar 2: Eu mudei o código da seguinte maneira, o log diz que o frame mudou mas no simulador ele não mudou; Eu provei isso adicionando bordas vermelhas à camada doUILabel.

self.descriptionLabel.text = description;
self.descriptionLabel.lineBreakMode = NSLineBreakByWordWrapping;

CGSize textSize = [self.descriptionLabel.text sizeWithFont:[UIFont systemFontOfSize:12.0]
                                         constrainedToSize:CGSizeMake(self.view.frame.size.width, FLT_MAX)
                                             lineBreakMode:self.descriptionLabel.lineBreakMode];
CGFloat frameHeight = textSize.height;
CGRect frame = CGRectMake(0.0, 300.0, self.view.frame.size.width, frameHeight);
self.descriptionLabel.frame = frame;

DDLogInfo(@"After: %f %f %f %f", self.descriptionLabel.frame.origin.x, self.descriptionLabel.frame.origin.y, self.descriptionLabel.frame.size.width, self.descriptionLabel.frame.size.height);
// After: 0.000000 300.000000 320.000000 585.000000

self.descriptionLabel.numberOfLines = 0;
self.descriptionLabel.layer.borderColor = [UIColor redColor].CGColor;
self.descriptionLabel.layer.borderWidth = 2;

questionAnswers(2)

yourAnswerToTheQuestion