2010-06-29 6 views
0

Je viens de télécharger SDK 4.0 et j'ai voulu mettre au point mon application iPhone développée sur le SDK 3.1.3. Malheureusement, l'application se comporte d'une manière étrange dans le simulateur pour iPhone 4.0.Le clavier apparaît quand il n'est pas nécessaire

La première chose est que j'ai une vue avec une vue de table avec des champs de texte dans les cellules. Lorsque je montre la vue, le clavier apparaît immédiatement, mais je ne peux pas modifier les vues de texte. Lorsque j'essaie de choisir l'un des champs de texte, le focus ne change pas et il se termine sans aucune possibilité de modifier les champs de texte.

UITextFieldDelegate est ajouté à chacune des vues de texte, mais aucune de ses méthodes n'est appelée lorsque la vue s'affiche (avec le clavier). Quand je choisis l'un des textes les vues

- (BOOL)textFieldShouldBeginEditing:(UITextField *)textField 

est appelé et je reviens YES.

Voici comment la vue ressemble à:

alt text http://img52.imageshack.us/img52/3310/iphonesimulator.png

Toutes les idées?

Répondre

2

Je n'ai pas vu ce comportement mais pour résoudre les problèmes, je suggère de désactiver les champs de texte et de voir si le comportement disparaît. Si c'est le cas, ajoutez le champ de texte dans un motif jusqu'à ce que vous trouviez celui qui déclenche le clavier.

Vous pouvez également regarder à travers la/les plumes et voir si vous avez un champ de texte caché quelque part.

+0

Merci pour la suggestion! J'ajoute tout le champ de texte dans le code. Après avoir désactivé tous les champs de texte, le clavier apparaît toujours. – Jakub

0

Je l'ai eu fonctionne correctement. Contexte: J'avais deux vues: dans la première fois j'avais une vue de texte, et dans la deuxième vue j'avais une vue de table avec quelques champs de texte. Problème: Dans la première vue que j'avais méthode

- (BOOL)textViewShouldEndEditing:(UITextView *)textView 

retour toujours NO pour la vue texte. C'est pourquoi lorsque je montrais la deuxième vue, le clavier pour la vue de texte était toujours affiché. Cela a très bien fonctionné dans SDK 3.1.3, donc il doit avoir été changé dans SDK 4.0.

Questions connexes