2013-04-14 4 views
1

Je suis assez nouveau dans cette programmation, je fais une application en Xcode 4.6 avec clavier personnalisé. J'ai fait le clavier et cela fonctionne très bien, mais je dois désactiver le clavier par défaut lorsque je clique sur la zone de texte, comment puis-je faire cela? Comme je l'ai dit, je suis nouveau à ce sujet, donc toute aide serait géniale.Masquer le clavier par défaut

+0

J'avais récemment mis en place un clavier personnalisé dans l'une de mes applications en utilisant textField.inputView = customKeyBoard. cette ligne masquera automatiquement le clavier defualt et affichera votre clavier personnalisé. – jamil

Répondre

1

Ainsi, vous avez deux choix.

1-UITextField a une des méthodes de délégués appelés

-(void)textFieldDidBeginEditing:(UITextField *)textField c'est la méthode lorsque vous appuyez sur votre textField. Vous devez donc masquer votre clavier par défaut ici.

-(void)textFieldDidBeginEditing:(UITextField *)textField 
{ 
     [self.yourTextField resignFirstResponder]; 
} 

2- Il y a une notification appelée UIKeyboardWillShowNotification qui est immédiatement affiché à l'écran du clavier. Ainsi, vous pouvez utiliser NSNotificationCenter pour faire votre travail lorsque vous avez reçu une notification. Donc, dans votre méthode viewDidLoad:

- (void)viewDidLoad 
{ 
    [super viewDidLoad]; 

    [[NSNotificationCenter defaultCenter]addObserver:self selector:@selector(keyboardWillShow:) name:UIKeyboardWillShowNotification object:nil]; 
} 

puis mettre en œuvre votre sélecteur. J'ai testé les deux, je pense qu'ils fonctionnent bien.

J'espère que cela aide.

+0

Merci à tous pour votre réponse, où dois-je mettre ce code, - (void) textFieldDidBeginEditing: (UITextField *) textField { [self.yourTextField resignFirstResponder]; } Je suis désolé d'être si vert dans ce domaine. – Sleeperinn

+0

vous devez mettre cela où vous déclarez votre champ de texte. N'oubliez pas de définir le délégué UITextField. – limon

+0

Merci beaucoup mstfbsnli, cela fonctionne bien :) – Sleeperinn

1

Voulez-vous juste cacher le clavier ou voulez également afficher votre clavier personnalisé? Pour afficher votre clavier personnalisé au lieu de celui par défaut, utilisez la propriété inputView de textfield et réglez votre clavier sur celui-ci. textField.inputView = customKeyBoard.

Questions connexes