2010-11-04 2 views
1

J'ai créé un UIPickerView l'intérieur d'un UIActionSheet, en utilisant le tutoriel suivant: Add UIPickerView & a Button in Action sheet - How?UIPickerView à l'intérieur d'une feuille d'action ne répond pas de moitié inférieure

J'ai remarqué que le UIPickerView ne répond pas aux touches en dessous de la moitié inférieure de le UIPicker. Peut-être juste sous la barre de sélection, mais pas plus bas.

Est-ce que quelqu'un a eu des expériences similaires et les a résolues?

Répondre

5

J'ai eu un problème similaire récemment où je présentais 3 options et une annulation. Les 3 boutons inférieurs semblaient avoir un demi-bouton hors de l'alignement. J'ai dû cliquer entre les boutons pour les faire fonctionner. Tout dépendait de l'endroit où je présentais la feuille d'action. Si vous avez un TabBarController vous devez présenter la feuille d'action à partir de là:

[actionSheet showInView:self.parentViewController.tabBarController.view]; 

Si vous avez juste la vue elle-même, avec peut-être une barre de navigation, puis présenter de la vue est très bien:

[actionSheet showInView:self.view]; 

En mon cas j'avais une barre d'onglets pour l'iPhone et non pour la version iPad, donc je l'ai fait:

if (UI_USER_INTERFACE_IDIOM() == UIUserInterfaceIdiomPad) { 
    [actionSheet showInView:self.view]; 
} else { 
    [actionSheet showInView:self.parentViewController.tabBarController.view]; 
} 

on ne sait pas à partir de la documentation de référence UIActionSheet mais il pourrait être sage de présenter t La feuille d'action du contrôleur «avant» le plus sensible. Donc, s'il y a une barre d'outils en bas, présentez-la. Ces restrictions ne semblent pas s'appliquer à l'iPad car les feuilles d'action sont présentées à l'intérieur des popovers.

Espérons que ça aide.

+0

J'ai eu un problème très similaire; dans mon cas, la feuille d'action (que je montrais en vue self.view) semblait bien, mais le bouton Annuler ne fonctionnait pas dans la partie qui chevauchait la barre d'onglets. Changer le paramètre inView en self.tabBarController.view l'a corrigé. (Note: dans mon cas, je n'ai pas eu besoin d'utiliser parentViewController ... vérifiez votre propre hiérarchie de vue pour être sûr.) –

0

Hey aller à XIB et essayez de sélectionner l'UIPickerView et ensuite aller à "Layout" Menu et "Bring To Front" Espérons que cela aide !!

Questions connexes