Как получить количество строк UITextView с помощью TextKit 2?IOS

Программируем под IOS
Ответить
Anonymous
 Как получить количество строк UITextView с помощью TextKit 2?

Сообщение Anonymous »

Начиная с iOS 16, TextKit 2 заменил TextKit 1 на UITextView, что означает, что LayoutManager отсутствует, а textLayoutManager присутствует. Однако ряд свойств из старой версии отсутствует. новый. Как я могу рассчитать количество строк в UITextView с помощью TextKit 2? Ниже представлена ​​реализация TextKit 1.
extension UITextView {
var numberOfLines: Int {
if #available(iOS 16.0, *) {
// TextKit 2

let layout = textLayoutManager // new layout manager
} else {
// TextKit 1

let layout = layoutManager // old layout manager
var lines = 0
var index = 0
var lineRange = NSRange()

while index < layout.numberOfGlyphs {
layout.lineFragmentRect(forGlyphAt: index, effectiveRange: &lineRange)
index = NSMaxRange(lineRange)
lines += 1
}
return max(1, lines)
}
}
}


Подробнее здесь: https://stackoverflow.com/questions/756 ... -textkit-2
Ответить

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

Вернуться в «IOS»