Je suis novice en matière de développement et de web mobile. Mon application utilise jquery-mobile, phonegap et Compass (scss).
J'ai un problème sur ma page de connexion :
Le logo et les champs sont contenus dans des conteneurs "div" standard (data-role="content" data-type="vertical"). L'arrière-plan est coloré.
lorsque l'on passe du champ "login" au champ "mot de passe", la page se déplace vers le haut, ce que je ne souhaite pas. Je voudrais que mon logo et mes champs restent en place, comme sur la page de connexion de l'application Skype iOS.
voici ce qui se passe :
J'ai essayé plusieurs astuces, en essayant de bloquer les événements de défilement, ou en forçant la page à défiler à 0,0, sans succès.
Je pense maintenant à une nouvelle stratégie, peut-être en utilisant le positionnement relatif supérieur pour le logo et les champs, et en récupérant les événements de focus pour faire défiler la page moi-même, lors du glissement du clavier vers le haut (en animant les coordonnées de positionnement relatif supérieur).
Bien que cela semble faisable, je me demande si c'est le type de contournement utilisé par l'équipe de l'application Skype iOS...
Tout conseil sur les techniques utilisées dans ce cas particulier est le bienvenu !
Santé,
Fred
0 votes
Je suis presque sûr que l'application Skype iOS utilise une vue native pour les champs de connexion au lieu de Phonegap qui utilise une WebView. Peut-être en essayant de changer la hauteur du corps à 100% ou en mettant le login/mot de passe dans la moitié supérieure quand la page s'ouvre.
0 votes
@GeekNum88 Bien sûr. Soleshoe cherche une solution à ce problème en utilisant WebView.
0 votes
@Zulakis - stupide touche entrée - je n'avais pas fini de taper...sigh
3 votes
@Soleshoe belle représentation...
0 votes
J'ai remarqué que les éléments positionnés de manière relative en haut ne glissent pas vers le haut lorsque le clavier sort (c'est la raison pour laquelle j'ai pensé à gérer moi-même le glissement des éléments vers le haut).
0 votes
J'ai fait quelques recherches concernant la bande blanche qui apparaît lors du changement de focus et du glissement de la page vers le haut, et j'ai remarqué que c'est lié à une mauvaise construction de mon pied de page (qui n'apparaît pas sur les maquettes). Je dois reconstruire mon pied de page de la bonne manière, en utilisant data-tap-toggle="true" et une transition css personnalisée. Le défilement de la page lors du changement de focus persiste, mais la bande blanche n'est plus un problème.
0 votes
La documentation de jqm 1.1.1 indique ceci à propos de l'événement scrollstart (je crains donc qu'il n'y ait pas de solution pour le moment) : Se déclenche lorsqu'un défilement commence. Notez que les appareils iOS gèlent les manipulations du DOM pendant le défilement, les mettant en file d'attente pour les appliquer à la fin du défilement. Nous étudions actuellement les moyens de permettre aux manipulations du DOM de s'appliquer avant le début du défilement.
0 votes
Pas d'amélioration concernant le déclenchement de l'événement scroll dans jqm 1.2.0