Was ist der beste Weg, um die x einzustellen, y von UILabel koordinieren, aber ihm Auto Breite / Höhe auf dem iPhone lassen?

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

  •  06-09-2019
  •  | 
  •  

Frage

Ich weiß genau, wo ich will meine UILabel in einem UIView positionieren, aber ich weiß nicht unbedingt, welche Höhe / Breite ich es bei der Kompilierung haben wollen, so eine Breite / Höhe Einstellung in Initwithframe nutzlos ist. Ich möchte in der Lage sein, um init nur seinen x, y Punkt, und dann so etwas wie verwenden [myLabel sizeToFit], so kann er automatisch die Breite / Höhe eingestellt, basierend auf meinem Pause-Modus und Inhalt.

Die Lösung ich suche ist, wie die UILabel des Ursprungspunkt zu setzen, während seiner Breite / Höhe auf eine dynamische Zahl auf der Grundlage des auf das Etikett festgelegt Text zu setzen.

Keine korrekte Lösung

Andere Tipps

Größe zuerst das Etikett, setzen Sie seinen Ursprung oder Zentrum:

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

oder

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

Wenn Sie bereits den Rahmen mit dynamischer Größe haben, wollen aber den Ursprung ändern:

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

Wenn Sie die Größe berechnen:

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

Natürlich können Sie die FLT_MAX ändern auf eine bestimmte Breite oder heigh zu beschränken.

EDIT: Ich wusste nicht, dass Sie die Größe programmatisch berechnen wollte. Hinzugefügt eine bessere Erklärung oben.

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top