Con iOS SDK:
Ho un UIViewcon UITextFields che portano una tastiera. Ne ho bisogno per essere in grado di:
Consenti lo scorrimento del contenuto di
UIScrollViewper visualizzare gli altri campi di testo una volta visualizzata la tastiera"Salta" automaticamente (scorrendo verso l'alto) o accorciando
So che ho bisogno di un UIScrollView. Ho provato a cambiare la mia classe UIViewin a UIScrollViewma non riesco ancora a scorrere le caselle di testo verso l'alto o verso il basso.
Ho bisogno sia di una UIViewche di una UIScrollView? Uno va dentro l'altro?
Cosa deve essere implementato per scorrere automaticamente fino al campo di testo attivo?
Idealmente, gran parte della configurazione dei componenti sarà eseguita in Interface Builder. Vorrei solo scrivere il codice per ciò di cui ha bisogno.
Nota: il UIView(o UIScrollView) con cui sto lavorando è richiamato da una tabbar ( UITabBar), che deve funzionare normalmente.
Modifica: sto aggiungendo la barra di scorrimento solo per quando viene visualizzata la tastiera. Anche se non è necessario, mi sembra che fornisca un'interfaccia migliore perché, ad esempio, l'utente può scorrere e modificare le caselle di testo.
Ho funzionato dove cambio la dimensione del frame UIScrollViewquando la tastiera va su e giù. Sto semplicemente usando:
-(void)textFieldDidBeginEditing:(UITextField *)textField {
//Keyboard becomes visible
scrollView.frame = CGRectMake(scrollView.frame.origin.x,
scrollView.frame.origin.y,
scrollView.frame.size.width,
scrollView.frame.size.height - 215 + 50); //resize
}
-(void)textFieldDidEndEditing:(UITextField *)textField {
//keyboard will hide
scrollView.frame = CGRectMake(scrollView.frame.origin.x,
scrollView.frame.origin.y,
scrollView.frame.size.width,
scrollView.frame.size.height + 215 - 50); //resize
}
Tuttavia, ciò non "sposta in alto" automaticamente o centra i campi di testo inferiori nell'area visibile, che è quello che mi piacerebbe davvero.

