У меня есть UITextView
с некоторым текстом, который превышает его границы.Таким образом, вертикальная прокрутка включена.
Теперь я хочу найти положение первого видимого символа.Вот что я попробовал:
let firstCharacterPosition = characterRange(at: contentOffset)?.start
Это работает в большинстве случаев.Однако, когда я прокручиваю вверх и приближаюсь к началу текста, функция characterRange(at:)
неожиданно возвращает nil
.
В начале я думал, что это только из-за отскока (когда contentOffset.y
значение вскоре становится <0).Но это не единственная причина. </p>
Я попробовал некоторые другие значения и с удивлением обнаружил, что
characterRange(at: .zero)
также возвращает nil
- так же, как текстовые позиции с низким положительнымy
значение.
Почему это так?
Как получить надежный UITextPosition
для первого видимого символа?