🪬
UITextViewの行数を取得する
以下のメソッドで 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
}
参考記事
Discussion