2016-05-07 10 views
5

Mój problem dotyczy UILabel.Sposób wyświetlania tekstu UILabel z "..." na końcu, gdy tekst jest dłuższy niż szerokość etykiety

Tekst, który zawiera, jest znacznie dłuższy niż faktyczna szerokość identyfikatora UILabel. Dlatego chciałbym, aby pojawił się z "..." na końcu, aby zaznaczyć, że jest więcej tekstu.

Grałem z poziomym priorytetem obejmującym treści (mniej niż 251), ale nie wydaje się to mieć znaczenia.

Teraz po prostu przesuwa tekst, gdy szerokość się zapełni.

Wszelkie pomysły?

+0

Duplikat [Pobieranie UILabel w celu utworzenia wielokropka zamiast zmniejszania czcionki] (http://stackoverflow.com/questions/7725795/getting-uilabel-to-produce-an-ellipsis-rather-then-shrinking-the -czcionka) ? –

+0

@Polis Czy naprawiłeś swój problem? – Coder1000

+0

Tak, thx! Problem polegał na tym, że ustawiłem go na multilinię, teraz pokazuje – Polis

Odpowiedz

5

To dość łatwe!

1) Utwórz na przykład UILabel o nazwie "aLabel".

2) Utwórz IBOutlet.

3) Czy:

aLabel.adjustsFontSizeToFitWidth = false 
aLabel.lineBreakMode = .ByTruncatingTail 
+2

dzięki za odpowiedź. Próbowałem, ale bez efektu. Nadal siedzi bez tekstu zaćmienia na końcu. Czy to możliwe, że dodałem ograniczenie automatycznego układu szerokości do UILabel? – Polis

+0

@Polis To jest bardzo dziwne. Po utworzeniu UILabel i nadaniu mu wiązań, elipsa pojawia się automatycznie, jeśli tekst jest zbyt długi. I dodałem ograniczenie szerokości. Spróbuj odtworzyć swoją UILabel :) – Coder1000

0

Jeśli dodajesz UILabel poprzez storyboard, następujące kroki mogą być przydatne:

1) Wybierz etykietę której chcesz wyświetlić”... ' na końcu.

2) Przejdź do inspektora atrybutów.

3) Wybierz „Linia Breaks” i wybrać opcję obciąć Tail

4) Sprawdź go dając tekst więcej niż rozmiar zawartości wielkości etykiet.

Powiązane problemy