J'essaie de créer une interface utilisateur permettant aux utilisateurs de basculer entre le clavier et les autres menus lors de l'utilisation d'une application de discussion.Comment assigner un pointeur au clavier avant d'avoir affecté le premier répondeur?
Sur un clic de la barre textField, je souhaite lever le clavier ou une vue de collection.
Le problème se produit lorsque je clique sur le bouton 'menu'. Je veux que la barre textField augmente pour révéler ma vue de menu. Puis, en un clic sur le bouton du clavier, passez instantanément au clavier, plutôt que de le faire glisser par le bas. Cela signifie que je dois avoir le clavier déjà chargé et caché, mais en arrière-plan de l'application.
Actuellement, la fonction keyboardDidShow est la plus ancienne que j'arrive à assigner une variable au clavier.
-(void) keyboardDidShow: (NSNotification *) notification {
// Get the window the keyboard is a subview of
_window = [UIApplication sharedApplication].windows.lastObject;
_keyboard = _window.subviews[0];
}
Cela signifie qu'après qu'il a été chargé une fois que je peux me cacher et de révéler, mais je ne veux pas visible quand il se charge de cette première fois.
Pour y parvenir, je l'ai alternatif en utilisant des moyens essayé d'ajouter mon point de vue supplémentaires comme subviews du UIWindow le clavier est créé dans:
[_window addSubview:_menuView];
[_window addSubview:_gamesView];
[_window addSubview:_stickerView];
[self hideSpecificView];
Malheureusement, je continue à venir à travers le même problème, jusqu'à ce que je l'ai chargé le clavier une fois qu'il doit charger complètement avant que je puisse obtenir un pointeur pour le cacher.
Voici une photo de mon toolBar Incase Je ne suis pas clair:
En cliquant sur l'icône de menu ou l'icône autocollants Je veux la barre pour soulever en vue de la collecte. Si je clique alors sur le champ de texte, avec ces vues visibles, je veux cacher la vue visible pour montrer immédiatement le clavier derrière.
J'ai également essayé d'expérimenter avec keyboardWillShow mais comme la fenêtre n'a pas été chargée devant notre écran je ne peux pas obtenir un pointeur sur le clavier pour le cacher avant qu'il ne se charge.
Un exemple de ce que je suis après peut être trouvé de nombreuses applications de chat (facebook messenger, LINE, kakaotalk)
Toute aide serait grandement appréciée