Mam komórkę z multilinią UILabels, ale gdy etykieta tekstu nie pasuje do ramki, nie są wyświetlane żadne kropki. Jak mogę to naprawić?Jak dodawać kropki do UILabel, jeśli tekst nie pasuje do ramki
Odpowiedz
Czy próbowałeś tego?
yourLabel.adjustsFontSizeToFitWidth = NO;
yourLabel.lineBreakMode = NSLineBreakByTruncatingTail;
Przed iOS6 użycie UILineBreakModeTailTruncation
Tak, ofc próbowałem.) –
Myślę, że poprawną opcją jest 'NSLineBreakByTruncatingTail'. Ten, o którym wspomniałeś w swojej odpowiedzi, jest przestarzały. – Macondo2Seattle
Próbowałem użyć NSLineBreakByTruncatingTail, a nie UILineBreakModeTailTruncation. –
Jeśli praca linebreakmode robi dla ciebie, innym rozwiązaniem jest rzeczywiście obliczyć długość ciąg zajmie i jeśli będzie dłuższy niż rozmiar etykiet , dodaj "..." sam.
Będziesz musiał grać z następującego kodu do obsługi dla wielu linii (ale idea jest podobna)
Weźmy na przykład oznaczyć (np detailLabel)
UILabel* detailLabel = cell.detailTextLabel;
CGSize expectedDetailLabelSize = [detailLabel.text sizeWithFont:detailLabel.font
constrainedToSize:maximumLabelSize
lineBreakMode:detailLabel.lineBreakMode];
Znam to rozwiązanie , ale jednocześnie mam nadzieję, że jest prostszy sposób.) –
do szybkiego 2,0 będzie
yourLabel.adjustsFontSizeToFitWidth = false;
yourLabel.lineBreakMode = NSLineBreakMode.ByTruncatingTail
w Swift 4 wystarczy podać mały "b". like (yourLabel.adjustsFontSizeToFitWidth = false; yourLabel.lineBreakMode = NSLineBreakMode.byTruncatingTail) –
Dla SWIFT 3+
label.adjustsFontSizeToFitWidth = false;
label.lineBreakMode = NSLineBreakMode.byTruncatingTail;
Czy naprawdę potrzebujesz dodać nagrodę do tego. Istnieją setki odpowiedzi na tego rodzaju pytania. http://stackoverflow.com/questions/11302165/uilabel-linebreakmode-clip-doesnt-clip-text i https://www.google.co.uk/search?q=UILabel+lineBreakMode+&ie=utf-8&oe= utf-8 & rls = org.mozilla: en-US: official & client = firefox-a & gws_rd = cr & ei = cQiiUsPpBKTK0QXZuoHoDA proste wyszukiwanie google. – Popeye
@Popeye próbowałem rozwiązać ten problem zgodnie z wcześniejszymi odpowiedziami, ale to mi nie pomaga. PS: Moja własność etykiety "numberOfLines" ustawiona na "2", jeśli jest równa "1", działa. –
NumberOfLines ma domyślnie wartość 1. Spróbuj ustawić 0, jeśli nie znasz dokładnego numberOfLines i użyj metody sizeToFit z UILable. – iProgrammer