Quando si aggiunge testo a una casella di testo a livello di codice, ho ho trovato anche era necessario aggiungere "[textView layoutIfNeeded]" per impostare le cose prima che la nuova posizione di scorrimento potesse essere calcolata correttamente.
ad esempio:
[newString appendFormat:@"%@\n",addText];
textView.text = newString;
[textView layoutIfNeeded];
NSRange range = NSMakeRange(textView.text.length - 2, 1); //I ignore the final carriage return, to avoid a blank line at the bottom
[textView scrollRangeToVisible:range]
Senza questa aggiunta la casella di testo non a volte scorrere, o sarebbe scorrere diverse linee ogni volta che è stata aggiunta una singola riga di dati.
fonte
2015-03-24 14:42:51
Se 70 è inferiore all'altezza originale di UITextView, viene ritagliato su quel valore e probabilmente per coincidenza questo è esattamente ciò che serve per il tuo caso a "scorrere automaticamente" fino all'ultima riga. È un po 'troppo hacker :) –