如何截断UILabel并保留x个尾随字符



示例(x=1(:

ABC -> ABC
ABCDEFGHIJKL -> ABCDE...L
ABCDEFGHIJKLMNOPQRS -> ABCDE...S

(在5个字符后截断是这个问题的任意选择-当然这将取决于标签的宽度(

我基本上是在寻找与中间截断相同的功能,但我可以指定在尾部保留多少个字符。这在Swift中可用吗?或者有合理的变通方法吗?

您可以使用.size(withAttributes:)函数测量任何字符串。其中属性是您的字体。

想法如下:

  1. 获取最后x个字符的长度加上句点符号
  2. 从开始迭代地测量字符串,并在每个步骤上添加1个字符
  3. 如果前一个字符串加上尾部的宽度超过了给定的宽度,只取上一步中的字符串

最新更新