Ios 添加'';在UILabel Word Wrapped属性之后
我有一个最大行数为2的UILabel和一个单词包装属性。这是在故事板中完成的 我需要在最后一个被包装的单词之后添加一个“…”,在那些最终被包装的标签上 这可能吗?我在互联网上尝试了一些解决方案,但似乎没有奏效。这些措施包括:Ios 添加'';在UILabel Word Wrapped属性之后,ios,objective-c,swift,uilabel,Ios,Objective C,Swift,Uilabel,我有一个最大行数为2的UILabel和一个单词包装属性。这是在故事板中完成的 我需要在最后一个被包装的单词之后添加一个“…”,在那些最终被包装的标签上 这可能吗?我在互联网上尝试了一些解决方案,但似乎没有奏效。这些措施包括: 测试标签是否已被截断,并将“…”附加到已截断的标签上 以编程方式使用属性文本劫持情节提要 尝试使用Truncate Tail-无法使用此选项,因为它会像“Highli…”一样截断单词 我想我明白你想做什么。这有点草率,但应该行得通 extension UILabel {
- 测试标签是否已被截断,并将“…”附加到已截断的标签上
- 以编程方式使用属性文本劫持情节提要
- 尝试使用Truncate Tail-无法使用此选项,因为它会像“Highli…”一样截断单词
- 我想我明白你想做什么。这有点草率,但应该行得通
extension UILabel {
func truncateAndFitText()
{
if let string = self.text
{
let words = string.components(separatedBy: " ")
var lastString = ""
var tempString = ""
for word in words
{
(tempString == "") ? tempString.append(word) : tempString.append(" \(word)")
let size: CGSize = tempString.size(attributes: [NSFontAttributeName: self.font])
if (size.width > (self.bounds.size.width * CGFloat(self.numberOfLines)))
{
lastString.append("...")
break
}
else
{
lastString = tempString
}
}
self.text = lastString
}
}
}
然后像这样使用它
myLabel.truncateAndFitText
@Rikh Correct-它截断了一半,这不是客户想要的。>_