Parece que no puedo encontrar una solución adecuada para el desplazamiento automático UITextView con Swift .

Para mi aplicación, recibo datos constantes de BT y los estoy actualizando en un UITextView. Sin embargo, cuando UITextView llegue a la última línea actualizada, tendré que desplazarme manualmente.

Lo que estoy tratando de lograr es mantener visible la última línea agregada al UITextView. (usando swift)

8
Vatsal Patel 26 ene. 2016 a las 06:43

3 respuestas

La mejor respuesta

Esto se desplazará hasta la parte inferior de un UITextView, con una animación:

let range = NSMakeRange(textView.text.characters.count - 1, 0)
textView.scrollRangeToVisible(range)
14
SwiftArchitect 26 ene. 2016 a las 16:19

Actualización de Swift 5 para la respuesta de @SwiftArchitect:

let range = NSRange(location: textView.text.count - 1, length: 0)
textView.scrollRangeToVisible(range)
0
Arthur Stepanov 17 jun. 2020 a las 13:02

También puede configurar contentOffset:

let point = CGPoint(x: 0.0, y: (textView.contentSize.height - textView.bounds.height))
textView.setContentOffset(point, animated: true)

Se desplazará hasta la parte inferior.

0
Strong 22 oct. 2017 a las 05:12