Czy istnieje sposób na umieszczenie wielu wierszy tekstu na UILabel
przykład w UITextView
lub powinienem zamiast tego użyć drugiego?
ios
uilabel
uitextview
line-breaks
multiline
Ilya Suzdalnitski
źródło
źródło
UILineBreakModeWordWrap
był przestarzały w iOS 6. Powinieneś teraz użyćNSLineBreakByWordWrapping = 0
Zobacz dokumentację tutajOdpowiedzi:
Znalazłem rozwiązanie.
Trzeba tylko dodać następujący kod:
Przywrócono starą odpowiedź (do wiadomości i deweloperów chętnych do obsługi iOS poniżej 6.0):
Z boku: obie wartości wyliczeniowe i
0
tak ustępują.źródło
cell.textLabel?.lineBreakMode = NSLineBreakMode.ByWordWrapping
icell.textLabel?.numberOfLines = 0
W IB ustaw liczbę linii na 0 (pozwala na nieograniczoną liczbę linii)
Podczas pisania w polu tekstowym za pomocą IB użyj „alt-return”, aby wstawić znak powrotu i przejść do następnego wiersza (lub możesz skopiować tekst już oddzielony wierszami).
źródło
Najlepsze rozwiązanie, jakie znalazłem (w innym przypadku frustrujący problem, który powinien zostać rozwiązany w ramach) jest podobne do rozwiązania vaychick.
Wystarczy ustawić liczbę linii na 0 w IB lub w kodzie
Spowoduje to wyświetlenie potrzebnych linii, ale zmieni położenie etykiety w taki sposób, aby była wyśrodkowana w poziomie (tak, aby etykieta 1-liniowa i 3-liniowa została wyrównana w pozycji poziomej). Aby naprawić ten dodatek:
źródło
Użyj tego, aby mieć wiele wierszy tekstu w
UILabel
:Szybki:
źródło
źródło
Jeśli musisz użyć:
można również użyć standardowego podziału wiersza
("\n")
w kodzie, aby wymusić nowy wiersz.źródło
Możesz użyć,
\r
aby przejść do następnego wiersza podczas wypełniania zaUILabel
pomocąNSString
.źródło
Spróbujmy tego
źródło
Powyższe rozwiązanie nie działa w moim przypadku. Robię tak:
źródło
Użyj opowieści borad: wybierz etykietę, aby ustawić liczbę linii na zero ...... Lub Odwołaj się
źródło
Swift 3
Ustaw zero linii wierszy dla dynamicznych informacji tekstowych, przydadzą się do zmieniania tekstu.
źródło
Z niektórych powodów nie działa dla mnie w iOS 6, nie jestem pewien, dlaczego. Wypróbowałem to z przypisanym tekstem i bez niego. Jakieś sugestie.
źródło
Spróbuj użyć tego:
źródło
Te rzeczy mi pomogły
Zmień te właściwości UILabel
Podczas wprowadzania ciągu znaków użyj \ n, aby wyświetlić różne słowa w różnych wierszach.
Przykład:
źródło
Metoda 1:
Teraz zadzwoń po prostu tak
DAWNY:
Metoda 2:
Programowo
Metoda 3:
Poprzez planszę historii
Aby wyświetlić wiele linii ustawionych na 0 (zero), wyświetli się więcej niż jeden wiersz na etykiecie.
Jeśli chcesz wyświetlić n linii, ustaw n.
Zobacz poniższy ekran.
Jeśli chcesz ustawić minimalny rozmiar czcionki dla etykiety Kliknij opcję Autoshrink i wybierz opcję Minimalna wielkość czcionki
Zobacz poniższe ekrany
Tutaj ustaw minimalny rozmiar czcionki
EX: 9 (na tym obrazku)
Jeśli etykieta otrzyma więcej tekstu w tym czasie, tekst etykiety zmniejszy się do 9
źródło
źródło
Możesz to zrobić również za pomocą Storyboard:
źródło
powinieneś spróbować:
źródło
źródło
Już odpowiedziałeś, ale możesz to zrobić ręcznie również w serii ujęć. W obszarze Inspektor atrybutów dla etykiety możesz zmienić Podziały wiersza na Zawijanie wyrazów (lub zawijanie znaków).
źródło
W tej funkcji podaj ciąg znaków, który chcesz przypisać w etykiecie i podaj rozmiar czcionki zamiast self.activityFont i podaj szerokość etykiety zamiast 235, teraz otrzymujesz wysokość etykiety zgodnie ze swoim ciągiem. będzie działać dobrze.
źródło
Ustaw poniżej w kodzie lub w samej serii ujęć
Label.lineBreakMode = NSLineBreakByWordWrapping; Label.numberOfLines = 0;
i nie zapomnij ustawić ograniczeń dla lewej, prawej, górnej i dolnej dla etykiety, w przeciwnym razie nie zadziała.
źródło
Swift 4:
źródło
Na C # to działało dla mnie w UITableViewCell.
Myślę, że chodzi tutaj o: -
źródło
Ten kod zwraca wysokość zgodnie z tekstem
źródło