带有UILineBreakModeTailTruncation的NSString drawInRect不会出现“...”

时间:2010-10-12 03:16:59

标签: iphone objective-c uitableview drawing

我正在尝试使用此方法将字符串绘制到自定义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 ..."

因此,任何有助于使这两种方法都有效的帮助

1 个答案:

答案 0 :(得分:0)

UILineBreakModeTailTruncation仅截断最后一行文字。 TEXT_RECT大到足以容纳多行文字吗?什么似乎是尾部截断可能只是一个不够高的矩形。