J'ai un formulaire où j'ai besoin d'entrer la date de début et la date de fin pour voir les transactions. Quand je mets l'accent sur le textfirld, je peux voir le clavier, mais derrière ça, le datepicker arrive. comment est-ce que je supprime le clavier et montre seulement le datepickermasquer le clavier du champ de texte et afficher datepicker
Répondre
je me débattais avec moi-même et a trouvé la solution. Vous pouvez le faire de cette façon:
- (void)viewDidLoad
{
[super viewDidLoad];
// set delegate for date text field
dateField.delegate = self;
}
// Display the picker instead of a keyboard
- (BOOL)textFieldShouldBeginEditing:(UITextField *)textField
{
[self showDatePicker];
return NO;
}
Cela suppose que vous avez déclaré une méthode appelée showDatePicker, qui gère l'affichage UIPicker.
vous pouvez appeler [myTextField resignFirsrResponder] sur une certaine méthode de clic de bouton ou, par exemple, dans la méthode de délégué textFieldShouldReturn. smth comme ça
- (BOOL)textFieldShouldReturn:(UITextField *)textField{ [textField resignFirstResponder]; return YES; }
Cela ressemble à la place d'un clavier standard, vous voulez plutôt que de montrer votre propre point de vue datepicker. Je crois que vous pouvez gérer cela en définissant le délégué pour votre champ de texte, puis en fournissant textFieldShouldBeginEditing.
// dans viewWillAppear définir le délégué textfield si nécessaire
...
myTextField.delegate = self;
...
- (BOOL)textFieldShouldBeginEditing:(UITextField *)textField{
// if date picker not in display, show it here...
return NO;
}
Utilisez ces deux liens.
et http://www.iphonesdkarticles.com/2009/01/uitableview-searching-table-view.html J'ai passé des heures à me cogner la tête en essayant de le faire fonctionner et finalement ça a marché. Espérons que cela aide – binshi
Très simple, en viewController.h mis le UITextFieldDelegate. Après dans viewDidLoad.
txtFecha.delegate = self;
datePicker = [[UIDatePicker alloc]init];
[datePicker setDatePickerMode:UIDatePickerModeDate];
self.txtFecha.inputView = datePicker;
Maintenant, vous pouvez utiliser inputView et inputAccessoryView de UITextField. Déclarez le fichier .h et @synthesize dans le fichier .m. Connectez-les au propriétaire du fichier dans le fichier .xib, assurez-vous qu'il est hors de la self.view.
- (void)viewDidLoad
{
_dateOfBirthTextField.inputView = self._datePickerView;
_dateOfBirthTextField.inputAccessoryView = self._toolbar;
}
écrire également la fonction chercher la date à partir du sélecteur
#pragma mark- UITextField with UIDatePicker-
- (IBAction)dateChanged:(id)sender {
UIDatePicker *picker = (UIDatePicker *)sender;
_dateOfBirthTextField.text = [NSString stringWithFormat:@"%@", picker.date];
}
- (IBAction)doneEditing:(id)sender {
[_dateOfBirthTextField resignFirstResponder];
}
Ajouter DateChanged: IBAction sur valueChanged: action de _datePicker. et doneEditing: IBAction sur l'action du bouton de la barre d'outils.
- 1. iPhone App - Masquer sélecteur afficher le clavier et masquer clavier sélecteur
- 2. Comment masquer le clavier par défaut
- 3. Masquer le clavier mais afficher le curseur
- 4. Aide avec jQuery afficher/masquer au clavier
- 5. Jquery datepicker icon masquer
- 6. Masquer le clavier logiciel
- 7. afficher puis masquer le texte JS Jquery
- 8. Afficher/Masquer le bouton (texte) pour Accordéon
- 9. jQuery: masquer et afficher
- 10. Afficher le clavier logiciel lorsque l'activité démarre en l'absence de champ de texte
- 11. jQuery UI - Datepicker - Masquer l'année
- 12. comment afficher et masquer le bouton image case
- 13. Masquer le clavier dans UIWebView
- 14. Masquer le clavier lorsque vous touchez uitableview
- 15. Flex - Masquer les colonnes DataGrid et afficher le texte de l'en-tête et de l'en-tête
- 16. jquery afficher et masquer le problème
- 17. Masquer le clavier logiciel sur l'activité sans opérations au clavier
- 18. désactiver le clavier après avoir entré le texte dans le champ de texte
- 19. Afficher/Masquer ContextMenuStrip en dehors du formulaire
- 20. Comment cacher le curseur du champ de texte sur l'iPhone lorsque le clavier est actif
- 21. jQuery afficher/masquer les éléments par champ de sélection
- 22. Clavier SW de paysage sans champ de texte au-dessus?
- 23. Afficher la position du curseur dans le champ texte de Firefox ou redimensionner le champ texte au besoin
- 24. Comment voir le texte d'un champ de texte dans un autre champ de texte?
- 25. Puis-je supprimer le bouton «Masquer le clavier» de l'iPad?
- 26. UIAlertView - récupère la valeur du champ de texte du champ de texte ajouté via le code
- 27. Comment afficher le clavier lorsque je commence à modifier le champ de texte de mon e-mail?
- 28. Modifier le texte du champ de texte tlf de jsfl
- 29. JQuery datepicker init le sélecteur/champ
- 30. Comment afficher ou masquer la div suivante en fonction de l'entrée du champ de formulaire
Je ne veux pas ajouter un bouton, puis rejeter le clavier. simplement en cliquant sur le champ de texte, il devrait afficher le Dateur de date – shreedevi
textFieldShouldReturn: méthode de délégué appelé après que le bouton "Retour" du clavier a été pressé. – Morion
vous voulez dire que chaque fois que je mets l'accent sur le champ de texte, le clavier sera affiché, et quand j'appuie sur le bouton de retour, on me montrera le compteur de date. – shreedevi