У меня есть ячейка с многострочными UILabels, но когда текстовая метка не соответствует рамке, то точки не отображаются. Как я могу это исправить?
Как добавить точки в UILabel, если текст не подходит для рамки
Ответ 1
Вы пробовали это?
yourLabel.adjustsFontSizeToFitWidth = NO;
yourLabel.lineBreakMode = NSLineBreakByTruncatingTail;
До iOS6 используйте UILineBreakModeTailTruncation
Ответ 2
для swift 2.0 он будет
yourLabel.adjustsFontSizeToFitWidth = false;
yourLabel.lineBreakMode = NSLineBreakMode.ByTruncatingTail
Ответ 3
Если режим linebreakmode не работает foryou, другой вариант - это фактически рассчитать длину, которую должна выполнить ваша строка, и если она будет длиннее размера метки, добавьте "..." самостоятельно.
Вам придется играть со следующим кодом для обработки для нескольких строк (но идея похожа)
Например, возьмите ярлык (например, detailLabel)
UILabel* detailLabel = cell.detailTextLabel;
CGSize expectedDetailLabelSize = [detailLabel.text sizeWithFont:detailLabel.font
constrainedToSize:maximumLabelSize
lineBreakMode:detailLabel.lineBreakMode];
Ответ 4
Для SWIFT 3 +
label.adjustsFontSizeToFitWidth = false;
label.lineBreakMode = NSLineBreakMode.byTruncatingTail;