Changement UIDatePicker la couleur de la police?
Tout ce que je veux faire est de changer la couleur de la police de la UIDatePicker. J'ai recherché d'autres questions, mais ils sont tous impliquant de modifier d'autres propriétés et la personnalisation de l'ensemble du look. Tout ce que je veux faire est de simplement changer la couleur de police du noir au blanc. J'ai du mal à croire que je ne peux pas faire une telle apparence simple tâche. Et pourquoi ne pas la teinte de la couleur de l'affecter? Est-il encore faire quelque chose?
- double possible de puis-je changer la couleur de la police de la datePicker dans iOS7?
- Dans la question ci-dessus, j'ai trouvé ma solution.
Vous devez vous connecter pour publier un commentaire.
À tous j'ai besoin (sur iOS 8.x et 9.0) est-ce qu'une ligne à changer la couleur de police:
Pas de sous-classement ou en invoquant des Api privées...
Remarque: aujourd'hui date actuelle va encore être mis en évidence (dans les nouvelles versions iOS). Vous pouvez contourner ce problème en utilisant le code suivant:
[my_date_picker performSelector:@selector(setHighlightsToday:) withObject:NO];
De Swift 2.1:
Au lieu de "aujourd'hui", vous pourrez voir le jour courant,
setHighlightsToday
provoque un avertissement,No method declared with Objective-C selector 'setHighlightsToday:'
Solution suivante provient de "arturgrigor" et il fonctionne très bien dans mes applications, il suffit de le copier, le coller dans la méthode viewDidLoad, et d'en profiter :
Une autre alternative à @Jérémie répondre est de définir ces valeurs dans Interface Builder.
Je préfère celui-ci car il n'y a pas de code à ajouter dans votre ViewController.
Cliquez dans le DatePicker de la vue et de le personnaliser en fonction de l'Attribut de l'inspecteur comme dans la capture d'écran.
Œuvres de Swift 2, 3, 4 et probablement pour Swift < 2. (pas testé)
Selon
Apple UIKit de l'Interface Utilisateur du Catalogue
, les développeurs ne sont pas autorisés à personnaliser sélecteurs de date.J'ai vu d'autres StackOverflow réponses à des questions similaires que suggérer de faire un faux UIDatePicker à l'aide de UIPickerView et la personnalisation que.
J'ai aussi trouvé un open source sélecteur de date sur GitHub (à https://github.com/mwermuth/MWDatePicker ) qui pourrait aider un peu. Il permet d'arrière-plan différente et sélecteur de styles, mais pas une police différente ou les attributs de police.... encore.
De changer UIDatePicker couleur de texte utiliser:
Il fonctionne comme un charme avec xCode 7.3 et Swift 2.3.
Si quelqu'un veut la solution swift, j'ai placé les éléments suivants dans le viewDidLoad:
La présente sous-classe de UIDatePicker fonctionne pour iOS 7. Son pas assez, mais fait le travail.
Vous pouvez également ajouter ce que une IBDesignable si vous souhaitez configurer cela dans InterFace Builder.
Pour Xamarin développeurs:
Son travail comme un charme.
Testé dans iOS 9 et 10
Je suis tombé sur un étonnamment propre solution à l'aide de
UIAppearance
, sans l'aide de toute KVC, swizzling, ou autrement privé de l'API. J'ai trouvé que de tenter de définir latextColor
viaUIAppearance
pour toutUILabel
dans unUIDatePicker
avait aucun effet, mais un aspect personnalisé de la propriété que l'on appelle simplement la régulièretextColor
setter a très bien fonctionné.Et d'utiliser ensuite comme suit:
Comme alternative à @Jérémie réponse, vous pouvez utiliser ceci:
il va supprimer aujourd'Hui (vous verrez la date actuelle), mais ce sera avec la bonne couleur.
Les ennuis possibles:
si vous changer de couleur de façon dynamique, je n'ai pas trouver un moyen de recharger sélecteur de date. Ainsi, l'utilisateur va voir la couleur précédente et seulement après de défilement, la couleur sera changé pour un neuf. -> Résolu, par la dernière chaîne. Regarde comme le Vaudou, mais il fonctionne...
Cette réponse appropriée pour Swift 2.1
Ajouter d'Exécution Attribut nommé "textColor" du Storyboard, comme illustré dans l'image suivante.