J'ai une vue personnalisée ( Publier une notification avec Créez une variable dans APPDelegate et attribuez les fichiers texte actifs / Views à celui-ci et sur PUSH et Les deux solutions nécessiteraient de modifier tout le code du contrôleur et je cherche quelque chose de plus générique comme: p>
Celles-ci pourraient être des solutions génériques. P>
Ce serait vraiment utile si quelqu'un pourrait faciliter ce processus de pensée ou une autre solution immédiate à cette affaire. P> notifierview code>) ajouté sur
uiwindow code> avec un bouton de licenciement (qui retirez-le de
uiwindow code>).
Cette vue est ajoutée lorsqu'une notification push est livrée dans
Didreceiveremotenotification code>
Il y a plusieurs cas lorsque je pouvais être sur n'importe quel écran et mon clavier est up via
uitextfield code> /
uitextview code>.
A ce stade si une poussée vient, le
notifyview code> est ajouté sur
uiwindow code> derrière le clavier.
Je veux démissionner du clavier une fois que la poussée est reçue pour que je puisse: p>
NSNOTIFICACENTCENTER CODE> Pour résilier tous les fichiers Textfields / TextViews (si quelqu'un est
Strapresponder code>). Pour cela, je dois conserver un pointeur actif sur le champ de texte / TextView actuellement actif dans tous les contrôleurs. P> LI>
DÉNIGNFIRSPRESPELER CODE> de ceux qui se trouvent. P> LI>
ul>
4 Réponses :
Essayez celui-ci, pour moi ça marche bien
[Vue d'envoi Enddition: Oui] Code> P>
Je cherche une autre étape générique que pour cela, j'ai maintenu une trace de ma vue actuelle pour l'appeler.
Appelé à cette méthode appellera en réalité démignfiresponder code> s'il y a Uitextfield dans la vue. développeur.apple.com/reference/uikit/uiview/1619630- Expédiement g < / a>
Le problème c'est, quand vous voulez rendre la mise au point. P>
J'ai mis en œuvre comme écoutant chaque champ de texte et la mise en cache qui est la dernière. Que de démissionner que celui-là (en poussée) après cet état de restauration, nécessitez la mise au point de cela. P>
Vous pouvez utiliser la méthode ci-dessous
[[[UIApplication sharedApplication] keyWindow] endEditing:YES]
Essayez ceci dans la méthode de délégué ...
- (BOOL)textFieldShouldBeginEditing:(UITextField *)textField { [self.view endEditing:YES]; // added this in for case when keyboard was already on screen [self editStartDate:textField]; return NO; }
Dupliquer ? Stackoverflow.com/questions/1823317/...