2009-11-11 5 views
0

J'ai fait des recherches sur le web depuis très longtemps, et je n'arrive pas à faire fonctionner ça. Sur mon champ de texte, quand je clique dessus, j'appuie sur "done" ou "return" pour ne pas disparaître. J'ai fait toutes les étapes pour chaque tutoriel mais je n'arrive toujours pas à le faire fonctionner. Je suis sur le firmware 3.1.2, mais est quand même ici le code dans mon ViewController.m:Champ de texte de clé de retour? - iPhone SDK

- (void)viewDidLoad { 

    [super viewDidLoad]; 

    blah.delegate = self; 
    blah.returnKeyType = UIReturnKeyDone; 

} 

- (BOOL)blahShouldReturn:(UITextField *)blah{ 

    [blah resignFirstResponder]; 
    return YES; 
} 

viewcontroller.h:

@interface BlahViewController : UIViewController <UITextFieldDelegate> { 
    IBOutlet UITextField *blah; 

} 

Ce sont les aboutissants simplement couper des fichiers. En tout cas, quelqu'un peut-il m'aider? Je ne peux pas se débarrasser du clavier quand je clique dessus ...

Merci,

Kevin

Répondre

7

Je suis confus. Attendez-vous réellement une méthode appelée blahShouldReturn: pour être appelée lorsque vous appuyez sur le bouton Retour? Si vous souhaitez utiliser la méthode de délégation textFieldShouldReturn:, vous devez l'appeler textFieldShouldReturn:. Vous pouvez utiliser le paramètre UITextField fourni avec cette méthode pour déterminer quel champ de texte envoie le message. Par exemple:

- (BOOL)textFieldShouldReturn:(UITextField *)textField { 
    if (textField == blah) { 
     [textField resignFirstResponder]; 
    } else if (textField == someOtherTextField) { 
     // Do something else 
    } 
    return YES; 
} 
2

fichier .m:

- (void)viewDidLoad { 

[super viewDidLoad]; 

blah.delegate = self; 
blah.returnKeyType = UIReturnKeyDone; 

//Call hideKeyboard action when done button is clicked 
[blah addTarget:self action:@selector(hideKeyboard) forControlEvents:UIControlEventEditingDidEndOnExit]; 

} 

//Custom hide keyboard action 
- (void)hideKeyboard { 

[blah resignFirstResponder]; 

} 

.h:

//Dont need delegate for this method of hiding keyboard! 
@interface BlahViewController : UIViewController { 
IBOutlet UITextField *blah; 

} 

- (void)hideKeyboard; 

@end 
Questions connexes