UILabel con ancho dynamic – Alineación horizontal

Tengo una UILabel en una class de celda personalizada en un UITableView y utilizo el siguiente código para boost el ancho de la label dinámicamente en lo que respecta a su contenido:

CGSize sizeToMakeLabel = [cell.cellResult.text sizeWithFont:cell.cellResult.font]; cell.cellResult.frame = CGRectMake(cell.cellResult.frame.origin.x, cell.cellResult.frame.origin.y, sizeToMakeLabel.width, sizeToMakeLabel.height); 

El problema que aparece con el código anterior es que ya no puedo tener la label alineada a la derecha (aumenta el ancho a la izquierda en lugar de a la derecha).

Si no uso el código anterior y configuro la alignment a la derecha en IB, la alignment funciona. Pero en este caso, pierdo el ancho dynamic.

Lo he intentado con:

 cell.cellResult.textAlignment = UITextAlignmentRigth; cell.cellResult.autoresizingMask = UIViewAutoresizingFlexibleLeftMargin; 

pero nada pasa.

¿Alguien puede ayudarme en esto por favor?

No puede alinear la label correctamente porque establece su ancho real para su marco.

Si quieres que sea dynamic pero alineado a la derecha, puedes hacer algo como:

 CGSize sizeToMakeLabel = [cell.cellResult.text sizeWithFont:cell.cellResult.font]; cell.cellResult.frame = CGRectMake(cell.cellResult.frame.origin.x + cell.cellResult.frame.size.width - sizeToMakeLabel.width, cell.cellResult.frame.origin.y, sizeToMakeLabel.width, sizeToMakeLabel.height); 

Esto se debe a que cambia el origen de la label al configurar su marco: cell.cellResult.frame.origin.x,

Podría cambiar los límites para administrar solo el ancho.

puede establecer el marco para su label como:

 [self.lblTitle setFrame: CGRectMake(self.lblTitle.frame.origin.x, self.lblTitle.frame.origin.y, [self.lblTitle.text sizeWithAttributes: @{NSFontAttributeName: self.lblTitle.font}].width, self.lblTitle.frame.size.height )]; 

funcionará