¿Cuál es la mejor manera de establecer las coordenadas x, y de UILabel pero dejar que el auto anchura / altura en el iPhone?

StackOverflow https://stackoverflow.com/questions/929014

  •  06-09-2019
  •  | 
  •  

Pregunta

Sé exactamente donde quiero colocar mi UILabel en un UIView, pero no necesariamente saben qué altura / anchura que desea que tenga en tiempo de compilación, lo que establecer una anchura / altura en initWithFrame es inútil. Quiero ser capaz de simplemente init su punto x, y, y luego usar algo como [myLabel sizeToFit] para que pueda establecer automagicamente la anchura / altura en base a mi modo de interrupción y el contenido.

La solución que estoy buscando es cómo establecer el punto de origen de la UILabel mientras que la creación es la anchura / altura a una serie dinámica basada en el texto que figura en la etiqueta.

No hay solución correcta

Otros consejos

Tamaño de la etiqueta primero, a continuación, establecer su origen o centro:

[myLabel sizeToFit];
CGRect frame = myLabel.frame;
frame.origin = CGPointMake(x, y);
myLabel.frame = frame;

o

[myLabel sizeToFit];
myLabel.center = CGPointMake(x, y);

Si ya tiene el marco con el tamaño dinámico, pero desea cambiar el origen:

CGRect myFrame = myLabel.frame;
myFrame.origin = aCGPoint;
myLabel.frame = myFrame;

Si es necesario calcular el tamaño:

CGSize suggestedSize = [myString sizeWithFont:myLabel.font constrainedToSize:CGSizeMake(FLT_MAX, FLT_MAX) lineBreakMode:UILineBreakModeWordWrap];

Por supuesto, se puede cambiar el FLT_MAX para constreñir a una anchura o heigh específica.

EDIT: No me di cuenta que quería para calcular el tamaño mediante programación. Se ha añadido una mejor explicación anterior.

Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top