2015-09-23 21 views
8

Mam UITextView pokazujący dynamiczną zawartość, która może mieć różny rozmiar. W widoku tekstowym dozwolone jest przewijanie, a jego rozmiar jest niezależny od zawartości. Biorąc pod uwagę ograniczenia automatycznego układu, widok tekstowy ma inny rozmiar poziomy na przykład na iPhone5 i iPhone6plus.Wycinek UITextview z trzema kropkami?

Chciałbym, aby mój tekst został przycięty w razie potrzeby za pomocą 3 kropek na końcu tego "...". (istnieje "Więcej" UIButton uruchamiający safari poniżej UITextView)

Nie jestem pewien, czy istnieje właściwość UITextView, czy też powinienem rozważyć kod, który sprawdza, ile znaków może wyświetlać widok tekstowy w bieżących okolicznościach i zmodyfikuj mój ciąg, aby był odpowiednio wyświetlany (wycinanie i dołączanie @ "...").

Dziękuję.

+0

Dlaczego widok tekst zamiast etykiety? – Wain

Odpowiedz

16

Spróbuj ustawić tryb przerwania linii UITextView. Działa podobnie jak UILabel i powinien na końcu używać "...".

self.textView.textContainer.lineBreakMode = NSLineBreakByTruncatingTail; 

Zobacz https://developer.apple.com/library/ios/documentation/UIKit/Reference/NSTextContainer_Class_TextKit/index.html#//apple_ref/occ/instp/NSTextContainer/lineBreakMode

+0

witam, to nie działa. Zastanawiam się, co robię źle. może to jest niezgodne z inną własnością? Nie robię nic specjalnego. – MikaelW

+1

Co widzisz, gdy ustawiasz łańcuch, który jest zbyt duży? Może być konieczne ustawienie wartości 'maximumNumberOfLines' na wartość odpowiednią dla zwiniętego widoku, aby wymusić jej obcięcie. –

+0

musisz również ustawić przewijanie jako false: textView.isScrollEnabled = false textView.textContainer.lineBreakMode = .byTruncatingTail – Tinkerbell

1

Jeśli nie trzeba edytować zawartość widoku tekstu ze strony użytkownika i są wyświetlane tylko treść, a następnie użyć UILabel.

powyżej białe tło to tekst, a tekst z 4 liniami to UILabel, zakładam, że próbujesz zaimplementować coś takiego.

Zmieniać tylko tryb łamania linii na "Obcinanie ogona" i ustawiać brak linii na pożądaną wartość.

enter image description here

enter image description here

Powiązane problemy