6

可能重复:
在 Objective C 中测量字符串的像素宽度

我使用 [string drawInRect:] 方法,并希望将字符串截断为适合该大小的最大长度。这并不像找出每行有多少个字符那么简单,因为每个字母的宽度都不同。我想找到字符串不再可见的原因是我可以在字符串的末尾添加省略号。

4

3 回答 3

2

查看NSString Additions ReferencedrawInRect:withAttributes:中的文档。在“常量”下,您将找到一个自动执行所需操作的选项:

NSStringDrawingTruncatesLastVisibleLine 如果文本不适合指定的边界,则截断省略号字符并将其添加到最后一个可见行。

于 2013-01-11T00:07:15.910 回答
1

如果@Mundi 给出的解决方案不够,或者您需要知道文本适合多少,您可以使用。

- (CGSize)sizeWithFont:(UIFont *)font constrainedToSize:(CGSize)size

在一个循环中减小文本的大小,直到它适合。

于 2013-01-11T00:08:40.323 回答
0

你想在哪里使用这个字符串?如果它在 UILabel 中,则可以使用 NSLineBreakMode = NSLineBreakByTruncatingTail。

于 2013-01-11T00:06:05.480 回答