5 votes

Comment changer la couleur de l'UIPicker ? iPhone

J'ai observé que UIPicker reste toujours de couleur noire,

Y a-t-il un moyen de changer la couleur de UIPicker et de son indicateur de sélection?

Merci de m'aider.

8voto

Amagrammer Points 5064

Je suppose que tout ce que vous voulez changer est la couleur de la bordure du sélecteur, pas de la région au centre avec laquelle l'utilisateur interagit. Dans ce cas, faites ce qui suit :

Créez 4 UIViews "cover" et ajoutez-les directement au UIPicker, comme ceci :

[picker addSubview: coverView];

Positionnez ces vues sur les côtés supérieur, inférieur, gauche et droit de la bordure du sélecteur. (Vous devrez expérimenter avec les tailles.) Réglez la backgroundColor des coverViews sur la couleur souhaitée, et ajustez l'alpha pour obtenir le dégradé à partir du sélecteur. Encore une fois, cela peut nécessiter un peu d'expérimentation.

L'alternative serait de créer une grande coverView qui couvre l'ensemble du sélecteur, et de remplacer la méthode - (UIView *)hitTest:(CGPoint)point withEvent:(UIEvent *)event pour que votre vue de couverture n'intercepte pas les touches destinées au sélecteur.

5voto

Daniel Points 16707

Vous pouvez créer vos propres sélecteurs personnalisés, consultez le projet d'exemple UICatalog sur le site d'Apple, ils montrent comment créer un sélecteur personnalisé, cela pourrait vous aider https://developer.apple.com/iphone/library/samplecode/UICatalog/

4voto

Moss Points 41

Créez une seule image superposée comme l'a suggéré Amagrammer, mais au lieu de l'ajouter à votre vue en tant qu'image, ajoutez-la en tant que bouton. Ensuite, désactivez l'interaction sur le bouton et le sélecteur recevra les événements tactiles sans avoir besoin d'intercepter ou de remplacer quoi que ce soit.

1voto

overflow Points 16

Vous pouvez faire cela en ajoutant également 5 ImageView. La première est de taille "Sélecteur de sélection" et placez-la exactement sur "Sélecteur de sélection". Maintenant, changez l'alpha de cette imageView à 0.2 ou ce que vous voulez et ajoutez également une image/couleur selon votre choix. Vous verrez maintenant votre "Sélecteur de sélection" personnalisé. De plus, vous pouvez faire la même chose pour les bordures. Ajoutez chaque imageView aux quatre côtés du pickerview et dimensionnez-les de manière à égaler la taille de la bordure. Maintenant, remplissez les images/couleurs que vous souhaitez dans cet ImageView.

0voto

George Sach Points 2112

C'est la meilleure solution que j'ai trouvée

http://www.inexika.com/blog/Customizing-UIPickerView-UIDatePicker

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X