Основной текст - Маленькая рамка слишком много текста - Как мне добавить три точки? - PullRequest
1 голос
/ 08 августа 2011

Я использую Базовый текст для рендеринга текста в небольшой рамке. Базовый текст хорош для вычисления размера строки, которая помещается в кадре, но если она слишком длинная и требует слишком обрезки, я хочу указать это, добавив три точки. Является ли это возможным? Как? Я гуглил без всякой удачи.

Ответы [ 2 ]

0 голосов
/ 24 октября 2011

Создайте CTParagraphStyle для текста и установите kCTLineBreakByTruncatingTail в качестве режима разрыва строки.

0 голосов
/ 08 августа 2011

Не в силах сделать что-то вроде этого:

CFRange visibleRange = CTFrameGetVisibleStringRange(frame);
int index = (visibleRange.loc + visibleRange.length) - 3; // -3 to make sure the three dots are visible

NSMutableString *newString = [text mutableCopy];
[newString insertString:@"..." atIndex:index]

// Re-create framesetter and frame with new string. Redraw frame.
...