От Google Перевод:Клавиатура и текстовые поля
Привет, когда я нажимаю на текстовое поле, я внесла некоторые изменения в представление выбора.
Когда я перемещаюсь из текстового поля в текстовое поле, не касаясь кнопки «Готово», и я перешел в текстовое поле, содержащее представление выбора, и я нажимаю, вид прокрутки не возвращается к исходному размеру ,
Вы знаете, как понравиться?
Оригинал:
Bonjour, lorsque JE клики Сюр ООН текстовое поле, J'ai Fais Quelques модификации налить qu'un вид сборщика apparaisse.
Quand je navigue текстовое поле в текстовом поле, которое не касается касания «коснитесь», и вы можете прослушивать текст в текстовом поле, как показано ниже, а также в режиме просмотра, pas sa taille initiale.
Savez vous comment faire s'il vous plaît?
Voici код пн:
- (void)viewDidLoad
{
[super viewDidLoad];
[ScrollView setContentSize:CGSizeMake(320, 974)];
[ScrollView setScrollEnabled:YES];
//on abonne notre instance aux notifications du clavier lorsqu'il apparaît et lorsqu'il disparait
[[NSNotificationCenter defaultCenter] addObserver:self selector:@selector(keyboardWillShow:)
name:UIKeyboardWillShowNotification object:nil];
[[NSNotificationCenter defaultCenter] addObserver:self selector:@selector(keyboardWillHide:)
name:UIKeyboardWillHideNotification object:nil];
}
- (void)keyboardWillShow:(NSNotification *)aNotification {
//si le clavier est déjà présent on ne fait rien
if (keyboardIsShown) {
return;
}
if (nom.editing == YES)
{
//on récupère la taille du clavier
NSDictionary* info = [aNotification userInfo];
CGRect _keyboardEndFrame;
[[info valueForKey:UIKeyboardFrameEndUserInfoKey] getValue:&_keyboardEndFrame];
CGSize keyboardSize = _keyboardEndFrame.size;
//on crée une nouvelle frame pour la scrollView
CGRect viewFrame = self.ScrollView.frame;
viewFrame.size.height -= keyboardSize.height;
//on redimensionne la scrollView dans une animation
[UIView beginAnimations:nil context:NULL];
[UIView setAnimationBeginsFromCurrentState:YES];
[UIView setAnimationDuration:0.3];
[self.ScrollView setFrame:viewFrame];
[UIView commitAnimations];
//on scroll jusqu'au champs texte en cours d'édition
CGRect textFieldRect = nom.frame;
[self.ScrollView scrollRectToVisible:textFieldRect animated:YES];
//on enregistre l'état actuel du clavier
keyboardIsShown = YES;
}
else if (dateVol.editing == YES)
{
//on récupère la taille du clavier
NSDictionary* info = [aNotification userInfo];
CGRect _keyboardEndFrame;
[[info valueForKey:UIKeyboardFrameEndUserInfoKey] getValue:&_keyboardEndFrame];
CGSize keyboardSize = _keyboardEndFrame.size;
//on crée une nouvelle frame pour la scrollView
CGRect viewFrame = self.ScrollView.frame;
viewFrame.size.height -= keyboardSize.height;
//on redimensionne la scrollView dans une animation
[UIView beginAnimations:nil context:NULL];
[UIView setAnimationBeginsFromCurrentState:YES];
[UIView setAnimationDuration:0.3];
[self.ScrollView setFrame:viewFrame];
[UIView commitAnimations];
//on scroll jusqu'au champs texte en cours d'édition
CGRect textFieldRect = prenom.frame;
[self.ScrollView scrollRectToVisible:textFieldRect animated:YES];
//on enregistre l'état actuel du clavier
keyboardIsShown = YES;
}
}
//méthode appelée lorsque le clavier disparaît (on quitte l'édition d'un champs texte)
- (void)keyboardWillHide:(NSNotification *)aNotification {
if (nom.editing == YES || dateVol.editing == YES)
{
//get the size of the keyboard
NSDictionary* info = [aNotification userInfo];
CGRect _keyboardEndFrame;
[[info valueForKey:UIKeyboardFrameEndUserInfoKey] getValue:&_keyboardEndFrame];
CGSize keyboardSize = _keyboardEndFrame.size;
//resize the scroll view
CGRect viewFrame = self.ScrollView.frame;
viewFrame.size.height += keyboardSize.height;
[UIView beginAnimations:nil context:NULL];
[UIView setAnimationBeginsFromCurrentState:YES];
[UIView setAnimationDuration:0.3];
[self.ScrollView setFrame:viewFrame];
[UIView commitAnimations];
keyboardIsShown = NO;
}
}
Не можете ответить на этот вопрос на английском языке? –
Anglais s'il vous plaît (английский, пожалуйста). – rmaddy
Либо вы делаете что-то действительно странное, чтобы поместить 'UIPickerView' в' UITextField', либо Google Translate не работает слишком хорошо. Я принимаю последнего и спрашиваю моего друга, может ли она помочь. – WolfLink