2010-11-25 36 views
0

J'ai une simple application de tabulation. Construit directement à partir du modèle de tabulation. Comme je teste l'application, je remarque que l'application plante parfois. Après avoir repéré la bonne séquence, j'ai découvert que l'application va planter si je fais cela:UIPickerView provoque des plantages dans iOS4

  1. Exécuter l'application. Ouvrez la vue qui a un UIPickerView dessus.
  2. Ouvrir une autre vue.
  3. Touchez le bouton d'accueil (cela enverra l'application à l'arrière-plan).
  4. Appuyez à nouveau sur l'icône de l'application pour l'amener au premier plan.
  5. Appuyez sur la vue dans laquelle se trouve l'UIPickerView.
  6. Crash!

Vérification de la console affiche: - [UIPickerView setFrame:]: valeur non valide en hauteur 130,0 épinglé à 162,0

Le UIPickerView J'utilise un format personnalisé. J'utilise la transformée de l'échelle 0.8f sur la hauteur. Donc, si vous calculez 0.8 * 162.0 est en effet 129.9f (130 comme mentionné par la console).

Je n'ai aucune idée de comment résoudre ce problème. Des idées?

+0

Im sur une version urgente. Donc, je viens d'ajuster l'interface utilisateur de l'application pour s'adapter à la hauteur de 162. Une fois que la hauteur de l'UIPickerView est de 162, il ne se bloque plus. J'aime toujours savoir comment résoudre ce problème si quelqu'un le sait. Merci. – GeneCode

Répondre

1

Le problème est résolu. Il semble que lorsque l'application passe en arrière-plan, UIPickerView doit retrouver les ressources de ses composants. Il ne s'agit pas du tout de dimensionner UIPickerView.

J'ai utilisé des images pour les composants UIPickerView, donc après avoir rempli le UIPickerView avec ces images, j'ai libéré toutes les images qui ont été allouées plus tôt. Ces images ne doivent pas être libérées si elles devaient fonctionner dans iOS4.

Ne les libérez que lorsque l'application se termine.

+0

Salut .. J'ai trouvé votre code ur sur la sélection du sélecteur dans ce lien http://xcodenoobies.blogspot.in/2012/02/how-to-create-horizontal-custom.html La chose est, je ne suis pas en mesure de télécharger le code source ici. Peux-tu m'aider? –

+0

Oui, je peux. Donnez-moi votre adresse email pour que je puisse vous envoyer directement. – GeneCode

+0

Salut Ajit, J'ai déplacé l'exemple de code sur mon serveur Dropbox. vous pouvez télécharger à partir d'ici https://www.dropbox.com/s/628b8jhf0f6p6a9/myPickerView.zip – GeneCode

0

Votre problème a été corrigé par un autre gars avec une approche radicale. Voir ce post's réponse fournie par un gars nommé bhavinb.

+1

Salut merci pour les commentaires. En fait, quand je change la hauteur à 162, je pensais qu'il ne se bloque plus. Mais en réalité, il se bloque toujours. Cette fois, il n'y a rien dans la console. Pas un message n'est donné .. im hors d'idées pour l'instant. En fait, le lien que vous avez donné ne m'aide pas du tout. Je peux bien redimensionner le sélecteur. C'est juste le problème de l'écrasement après que l'application est passée en arrière-plan, puis retourne au premier plan qui ne peut pas être réparé. – GeneCode

+0

Recotilos fins. :) – Krishnan

+0

Vous pouvez mettre à jour votre question avec les informations que vous avez fournies dans ce commentaire. Quelqu'un peut essayer de résoudre. – Krishnan