2016-02-29 14 views
7

私は、ラベルをtextFieldのテキストの高さと同じ距離だけ垂直方向にアニメーション化する必要がある問題に遭遇しました。たいていの場合、ただtextField.bounds.heigtですが、textFieldの高さがテキストの高さより大きい場合、それは私には良いことではありません。だから私は知っておく必要があります: UIFontから文字列のテキストの行の高さを計算するには?Swiftフォントから1行のテキストの高さを計算する方法

重複について: 私が必要とするものとは少し異なります。その答え(私は私の答えで参照している)は、1)文字列2)幅3)フォントに応じて合計の高さを取得します。私が必要としたのはフォントの1行の高さはです。

+1

可能性のある重複したのです。この

 if let font = _textView.font { let height = font.lineHeight } 

ようproppertyのlineHeight なめらかを持っている[スウィフトのStringをもとにUILabelの大きさを把握](のhttp://のstackoverflow。 com/questions/30450434/figure-out-size-of-uilabel-on-swift-in-swift) – TylerH

+0

これは私が必要とするものと少し異なります。その答え(私は私の答えで参照している)は、1)文字列2)幅3)フォントに応じて合計の高さを取得します。私が必要としていたのは、フォントにのみ1行の高さをつける** – Ismail

答えて

6

UIFontは、フォントは、それはあなたのフォント

3

これを行う方法を探していて、answerの文字列とフォントのサイズを計算するにはStringという拡張子があります。私は(。フォントを使用して書かれたテキストの行の高さを取得)私がやりたいことを変更した:

extension UIFont { 

    var height:CGFloat { 
    let constraintRect = CGSize(width: CGFloat.max, height: CGFloat.max) 

    let boundingBox = "Anytext".boundingRectWithSize(constraintRect, options: NSStringDrawingOptions.UsesLineFragmentOrigin, attributes: [NSFontAttributeName: self], context: nil) 

    return boundingBox.height 
    } 
} 

私は、これはそれを探して誰かに役立ちます願っています。 (は私自身の将来かもしれません)。

関連する問題