2010-04-05 15 views
6

Per impostazione predefinita, il contentView di UITextView diventa scorrevole quando c'è troppo testo per adattarsi alla visualizzazione del testo in base alla sua altezza.UITextView modifica altezza invece di scorrimento

Vorrei disabilitarlo e, invece, aggiornare l'altezza di UITextView per adattarlo al testo. Il motivo per cui sto facendo questo è perché sto aggiungendo UITextView come sottoview di un UIScrollView che dovrebbe gestire lo scorrimento, proprio come nell'app di posta nativa (quando si inserisce del testo, l'intera vista scorre verso l'alto, non solo la vista testuale .

qualcuno ha qualche idea/ha incontrato lo stesso problema prima

risposta

20

E 'molto semplice fatta in questo modo:?

CGRect frame = textView.frame; 

frame.size = textView.contentSize; 

textView.frame = frame; 

questo dovrebbe impostare l'altezza della TextView per adattarsi in modo appropriato tutti il suo contenuto

+0

che è grande. Ho dovuto aggiungere alcune cose che pubblicherò in una nuova risposta a causa della formattazione dei commenti. –

+0

Funziona bene su iOS5 ma per qualche ragione su iOS4 il cursore continua a volere andare alla deriva oltre i limiti della vista. –

+0

Grazie amico, mi ha risparmiato un sacco di tempo! – Mateus

9

Pochi l ittle changes:

L'aggiunta dell'altezza del carattere dà spazio alla casella di correzione automatica quando si scrive qualcosa in modo errato.

Il UITextView dovrebbe anche essere impostato per non scorrere:

[aTextView setScrollEnabled:NO]; 
+0

In che modo questo gestisce lo scorrimento della vista del cursore? –

+0

Questa dovrebbe essere la risposta accettata. –

+0

È inoltre possibile impostare textView.clipsToBounds = NO; per fare in modo che la casella di correzione automatica non venga tagliata. –

Problemi correlati