2017-11-22 9 views
-1

TTTAttributedLabelhttps://github.com/TTTAttributedLabel/TTTAttributedLabel)が切り捨てられているかどうかを確認し、それに応じてカスタムロジックを実行する必要があります。TTTAttributedLabelが現在切り捨てられているかどうかを確認する方法

私はBOOL isTruncatedのような仮説的なプロパティを探しています。どうすればいいのですか?

CGSize size = [yourLabel.text sizeWithAttributes:@{NSFontAttributeName : yourLabel.font}]; 
if (size.width > yourLabel.bounds.size.width) { 

    NSLog(@"your font is truncated!"); 
} 

あなたがboolを返す一つの方法を作成することができますが、単一の行ラベルを持っているなら、あなたのような何かを行うことができます

+0

「TTTAttributedLabel」とは何ですか?それはどんな図書館ですか?はいの場合は、問題のリンクを含めてください! – Lion

+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 
     } 

`

0

、(切り捨てそうでない場合)、ラベルをパラメータとして受け入れます。

+0

私はそれについて考えましたが、リンク(異なるフォントウェイトを持つ)と切り捨てトークンを考慮して、すべてを正しく計算するかどうかはわかりません。 –

関連する問題