ios – 如何根据图形宽度截断NSString?

前端之家收集整理的这篇文章主要介绍了ios – 如何根据图形宽度截断NSString?前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
在UILabel中,有使用不同截断技术(UILineBreakMode)截断标签功能.在NSString UIKit Additions中,绘制字符串有类似的功能.

但是,我发现无法访问实际的截断字符串.有没有其他方法可以根据给定字体的(图形)宽度获取截断的字符串?

我希望用这种方法在NSString上有一个类别:

-(NSString*)stringByTruncatingStringWithFont:(UIFont *)font forWidth:(CGFloat)width lineBreakMode:(UILineBreakMode)lineBreakMode

解决方法

一种选择是通过循环尝试不同的大小,直到获得正确的宽度.即从完整字符串开始,如果它比您需要的更宽,则用省略号字符替换最后两个字符.循环直到它足够窄.

如果您认为自己将使用长字符串,则可以二进制搜索截断点以使其更快一些.

原文链接:https://www.f2er.com/iOS/330953.html

猜你在找的iOS相关文章