2017-04-24 70 views
0

我有一个长的单行文本被截断(byTruncatingMiddle)。但是,该字符串在中间有一个特定的字符,我不想切断。阻止文本的特定部分被截断

令说文字是这样的:

FooFooFooFooFooFoo - BarBarBarBarBarBarBar 

现在我想截断文本,没有它移除冲刺。所以结果应该是这样的

FooFoo...-...arBarBar 

是可能的Swift默认工具,或者是我的分裂UILabel成3个部分,并截断尾部和单独的头部唯一的方法?你可以这样做

回答

0

没有默认模式。我遇到了同样的问题,并将其分成3个UILabels。它比计算字符要容易得多,实际上你不需要计算任何东西,只需设置约束即可。

0

一种方法是对标签中的最大字符数,并采取文本到那个数,并与“...” +剩余字符串文字像追加:

label.text = lblMessage.text.substring(0, maxChars) + "..." + lblMessage.text.substring(minChars, text.lenght) 

基本上逻辑是:

  1. 查找可放置在标签框架中的最大字符。
  2. 现在我们有要放在标签中的数字字符。我们将在这里处理我们自己的截断逻辑。
  3. 计算多少,你可以在人物上半年和下半年
  4. Concate这两个字符串显示“...”