NSString drawInRect с UILineBreakModeTailTruncation не отображается "..." - PullRequest
2 голосов
/ 12 октября 2010

Я пытаюсь использовать этот метод для рисования строки в пользовательском UITableViewCell.

   [self.text drawInRect:TEXT_RECT withFont:font lineBreakMode:UILineBreakModeTailTruncation alignment:UITextAlignmentLeft];

Проблема в том, что если текст слишком длинный, текст на самом деле является усеченным хвостом, но не отображает "..."

Если я использую drawInPoint

[self.text drawAtPoint:CGPointMake(60, 0) forWidth:200 withFont:font minFontSize:15 actualFontSize:nil lineBreakMode:UILineBreakModeTailTruncation
    baselineAdjustment:UIBaselineAdjustmentAlignBaselines];

Затем я получаю "...", но теперь он делает весь мой текст одной строкой, поэтому довольно длинный текст будет обрезан слишком рано.Например:

Если у меня есть текст "Hello all, here is my first book".Если я использую drawInRect, то я могу отобразить его в 2 строки, но если я использую drawAtPoint, я вижу только первую строку, например: "Hello all, here ..."

Таким образом, любая помощь в работе любого метода будет оценена1015 *

1 Ответ

0 голосов
/ 12 октября 2010

UILineBreakModeTailTruncation усекает только последнюю строку текста.TEXT_RECT достаточно большой, чтобы вместить несколько строк текста?То, что кажется усечением хвоста, может быть просто прямоугольником, который недостаточно высок.

...