Multiline-UIButton und autolayout

Habe ich eine view-controller, der wie folgt aussieht:

Multiline-UIButton und autolayout

Möchte ich die zwei top-Tasten, um immer über 20 Punkte zwischen sich und die linken/rechten Ränder der gesamten Ansicht. Sie sollten immer die gleiche Breite zu. Ich habe die Einschränkungen, die für das alles und es funktioniert genau wie ich es wollte. Das problem ist das vertikale Beschränkungen. Die Tasten sollten immer 20 Punkte unterhalb der oberen Kante. Sie sollte die gleiche Höhe haben. Allerdings autolayout nicht respektiert, dass die linke label braucht zwei Zeilen so an, dass alle seine Texte, so das Ergebnis sieht wie folgt aus:

Multiline-UIButton und autolayout

Ich will dass es aussieht wie im ersten Bild. Kann ich nicht hinzufügen, Konstante Höhe-Einschränkungen auf die Knöpfe, weil wenn die app läuft auf dem iPad, wird nur eine Zeile benötigt und es wäre eine Verschwendung zu haben, der extra-Platz dann.

In viewDidLoad habe ich versucht, dieses:

- (void)viewDidLoad
{
    [super viewDidLoad];
    self.leftButton.titleLabel.preferredMaxLayoutWidth = (self.view.frame.size.width - 20.0 * 3) / 2.0;
    self.rightButton.titleLabel.preferredMaxLayoutWidth = (self.view.frame.size.width - 20.0 * 3) / 2.0;
}

Aber nicht ändern anyhting überhaupt.

Die Frage: Wie mache ich autolayout Respekt, dass die linke Taste zwei Zeilen?

  • es könnte sein, weil Sie die "gleiche Höhe" - Einschränkung auf die linke Taste. Zu machen, dass es die gleiche Höhe wie die anderen Tasten, das ändern der Größe des Inhalts innerhalb der Schaltfläche
  • Ich versucht zu entfernen, die "gleiche Höhe" - Einschränkung, aber es hat nicht funktioniert.
  • Haben Sie versucht, hinzufügen >= - Einschränkungen auf den Etiketten, um festzustellen, eine Mindest Einpresstiefe?
  • Nein, aber ich habe versucht es jetzt, aber unfortunely es hat nicht funktioniert entweder. Jetzt auf dem iPad sind die Tasten "doppelt hoch", was ich nicht will, dass Sie sein.
InformationsquelleAutor | 2014-05-24
Schreibe einen Kommentar