iOS drawInRect:属性使用多行执行文本截断

我怎样才能绘制一个长的文本string在矩形截尾? 我尝试使用drawInRect:withAttributes:使用NSLineBreakByTruncatingTail段落样式,但它始终在单行上呈现文本。 它仅使用NSLineBreakByWordWrapping和NSLineBreakByCharWrapping中断模式呈现多行文本,使用此选项时不会截断。 是否有任何财产,我需要设置段落风格,以实现这一目标? 或者,这是不再支持,在这种情况下,除了继续使用废弃的方法,我可以看到别无select。 不推荐使用的方法drawInRect:withFont:lineBreakMode:alignment:工作正常。

有可能的。

你是对的 – 你不能使用NSLineBreakByTruncatingTail段落风格,因为它将只显示单行被截断的文本。

而不是不赞成drawInRect:withFont:lineBreakMode:alignment:你应该使用drawWithRect:options:attributes:context:

 [string drawWithRect:CGRectMake(x, y, width, height) options:NSStringDrawingUsesLineFragmentOrigin | NSStringDrawingTruncatesLastVisibleLine attributes:@{NSFontAttributeName:<font>, NSForegroundColorAttributeName:<color> context:nil];