示例(x=1(:
ABC -> ABC
ABCDEFGHIJKL -> ABCDE...L
ABCDEFGHIJKLMNOPQRS -> ABCDE...S
(在5个字符后截断是这个问题的任意选择-当然这将取决于标签的宽度(
我基本上是在寻找与中间截断相同的功能,但我可以指定在尾部保留多少个字符。这在Swift中可用吗?或者有合理的变通方法吗?
您可以使用.size(withAttributes:)
函数测量任何字符串。其中属性是您的字体。
想法如下:
- 获取最后x个字符的长度加上句点符号
- 从开始迭代地测量字符串,并在每个步骤上添加1个字符
- 如果前一个字符串加上尾部的宽度超过了给定的宽度,只取上一步中的字符串