我需要一种方法来检查TTTAttributedLabel
(https://github.com/TTTAttributedLabel/TTTAttributedLabel)是否被截断,并根据它执行自定义逻辑。
我正在寻找像BOOL isTruncated
这样的假设属性。我该怎么做?
答案 0 :(得分:0)
Use the below method to get what you want:
`
func isTruncated(label:UILabel) -> Bool{
let text: String = label.text
if text.isEmpty()
{
return false
}
let boundingBox = text.boundingRect(with: label.frame.size.width, options: .usesLineFragmentOrigin, attributes: [NSFontAttributeName: label.font!], context: nil)
return label.frame.size.height >= boundingBox.height
}
`
答案 1 :(得分:0)
如果您有单行标签,那么您可以执行类似的操作,
CGSize size = [yourLabel.text sizeWithAttributes:@{NSFontAttributeName : yourLabel.font}];
if (size.width > yourLabel.bounds.size.width) {
NSLog(@"your font is truncated!");
}
你可以创建一个返回bool
(截断或不截断)并接受标签作为参数的方法!