[Semi-Résolu] Un problème entre clavier, vue et le mode BackGround
Bonjour a tous desole je n'ai pas trouve un titre assez correcte bon je vous expose tout de meme mon problème :P
Voici mon probleme
J'a une vue qui dispose d'une textfield tout en bas , quand je clique dessus un clavier s'affiche et ma vue remonte parfaitement et je n'utilise pas une scroll View car avec une seul textfield je n'en vois pas l'utilite !
TOUT marche parfaitement sauf :
Si je laisse le clavier actif c'est a dire que je met mon appli en Background en gros j'appui sur le bouton Home de l'iPHone et que je reviens dessus surprise mon clavier est toujours la MAIS ma vue est revenu a l'etat initiale ..... en gros redescendu ...
Je vous ai concocte 4 petites images explicatives
Ca c'est ma vue au depart
Mots clés:
Connectez-vous ou Inscrivez-vous pour répondre.
Réponses
Quand tu passes ton appli en background, je suppose que le TextField perd le focus et donc que textFieldDidEndEditing est appelé. Ce qui explique pourquoi ton textfield redescend...
Bah j'ai mis un breakpoint sur
- (void)textFieldDidEndEditing:(UITextField *)textField
{
[self animateTextField: textField up: NO];
}
mais quand je met en background l'appli ou meme quand je reviens dedans cette fonction n'est pas appelee
Ou j'ai tres mal compris ta reponse
j'avais le même problème que toi mais avec des boutons que je voulais remonter.
Au départ ça marchait bien mais quand je changé de TextField et bien tout redescendais
Au final ===>>> ScrollView et ça marche nikel, j'ai pas cherché plus loin ???
il faudrait que tu inscrives au démarrage de ta vue les abonnements au clavier
ce tuto l'explique assez bien : http://franckchevallier.com/2012/02/29/uitextfield-masque-par-le-clavier/
car il faut que tu joue avec l'origine de ta vue, la remonte et la redescende à chaque apparition ou disparition du clavier
Ok je vais faire un tour dessus merci
Je vous donnerai des nouvelle d'ici la
Merci ca marche un peu mieux mais il y a toujours un probleme si j'appui sur la textfield ca m'affiche le clavier rien de magique mais ca ne remonte la textfield que si je commence a saisir
MAJ : Sans compter que ma vue est plus grande que l'iphone 4 et que je suis oblige de scroller pour voir le bas de mon appli mais ca je verrai
En plus probleme quand je switch de vue et que je reviens j'ai la malheureuse suprise de trouve ma vue decale un peu vers le haut .
si tu utiliserais la scrollView et dans le lien que je t'ai passé, il utilise ce code là
Maintenant si tu veux toujours pas de ScrollView, tu dois récupérer l'origine de ton TextField
et faire (si ton origine est en haut à gauche)
nouvelleOrigineVue.y = tailleVue.hauteur - origineTextfield.y //La tu remontes ta vue de la hauteur de ton clavier
Quand tu changes ta vue à ton -(void) viewUnLoad() (ou équivalent) et quand tu ajoute une autre vue aussi replace l'origine de ta vue à 0
Mais ça va vite devenir une machine à gaz sans ScrollView ??? du moins de mon point de vue personnel
Ouep mais ca ne marchais pas tres bien en plus avec l'ecran iphone 4 et 5 c'est pas la meilleur solution.
J'aimerai recuperer ma textField dams le AppDelegate et faire genre un
Possible ou pas ?
Ou tous simplement faire un refresh de la vue courante possible ?