🪬

UITextViewの行数を取得する

2021/05/07に公開

以下のメソッドで 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
}

参考記事

https://tutorialmore.com/questions-418555.htm

Discussion