UITextViewの行数を取得する

UITextViewの行数を取得する iOS

以下のメソッドでUITextViewの行数を取得できる。

func getNumberOfLines(in textView: UITextView) -> Int {
    let numberOfGlyphs = textView.layoutManager.numberOfGlyphs
    var index = 0, numberOfLines = 0
    var lineRange = NSRange(location: NSNotFound, length: 0)
    while index < numberOfGlyphs {
        textView.layoutManager.lineFragmentRect(forGlyphAt: index, effectiveRange: &lineRange)
        index = NSMaxRange(lineRange)
        numberOfLines += 1
    }
    return numberOfLines
}

参考記事