2012-10-28 27 views
7

Tworzę xib przy użyciu autolayout (NSLayoutConsraint). Czy istnieje sposób użycia sizeToFit lub czegoś podobnego, aby UILabel zmieścił się w jego zawartości?Automatyczne wymiarowanie UILabel podczas korzystania z Autolayout

Próbowałem ustawić ograniczenie "większe niż lub równe x" i próbował ustawić wysokość poniżej. Nadpisuje jednak właściwość wysokości. sitToFit nie działa, gdy masz NSLayoutConstraints.

Jak uzyskać odpowiedni rozmiar etykiety?

Odpowiedz

4

Złóż IBOutlet dla ograniczenia wysokości i szerokości, i używać sizeToFit zmienić swoje constant własność, i nazywają needsUpdateConstraints

0

Należy starać się obniżyć priorytet wysokość wiązania.

1

Korzystanie z „większy niż” ograniczenie do wysokości UILabel i wywołującego sizeToFit ciągu viewDidLayoutSubviews wystarczyły dla mnie

nie muszę zadzwonić needsUpdateConstraints.

Musisz także ustawić liczbę linii na 0, aby umożliwić nieograniczoną liczbę linii lub> 1, jeśli chcesz limit.

Należy także ustawić właściwość preferredMaxLayoutWidth, która jest automatycznie ustawiana przez program budujący interfejs na szerokość widoku.

Powiązane problemy