puis-je changer la couleur de la police de la datePicker dans iOS7?
viens de télécharger ma copie de xcode 5 et je me demandais si quelqu'un sait comment je peux changer la couleur ou la taille de la police dans le sélecteur de date?
- Je suis face à un même problème... comment avez-u résolu pour UIDatePicker et pas UIPicker
- double possible de Custom iOS UIDatepicker à l'aide de UIAppearance
- double possible de stackoverflow.com/questions/19232817/...
- La couleur est facile: stackoverflow.com/a/31775498/3052059
Vous devez vous connecter pour publier un commentaire.
UIDatePicker
ou quelque chose?J'ai besoin pour mon application et ont fini par aller le long chemin de ronde. C'est une véritable honte il n'y a pas un moyen plus facile de passer simplement d'un blanc version texte de la UIDatePicker.
Le code ci-dessous utilise une catégorie sur UILabel à la force du texte de l'étiquette de couleur blanche lorsque le setTextColor: le message est envoyé à l'étiquette. Afin de ne pas faire cela pour chaque étiquette dans l'application j'ai filtré à s'appliquer uniquement si c'est une sous-vue d'un UIDatePicker classe. Enfin, certains de ces étiquettes ont leurs couleurs ensemble avant qu'ils soient ajoutés à leur superviews. Pour attraper ces le code remplace le willMoveToSuperview: méthode.
Il serait probablement préférable de diviser le ci-dessous dans plus d'une catégorie, mais je l'ai ajouté tous ici pour la facilité de la publication.
willMoveToSuperview::
(deux-points)?swizzledWillMoveToSuperview:
vous devriez appelersetTextColor:
donc il appelle votre méthode personnalisée? Actuellement en appelantswizzledSetTextColor:
vous appeler le stock de mise en œuvre. --- J'essaie de comprendre ce que je dois faire pour obtenir le "heures" et "min" étiquettes blanches lorsque j'utilise un compte à rebours UIDatePicker...view.textColor = view.textColor;
sur tous les points de vue que, lorsque les sous-classes de UILabels.C'est la façon la plus simple et ça marche!!! Je Le Promets. Créer le UIDatePicker dans la vue, ou de le connecter via un storyboard, puis mettez le code suivant dans la méthode ViewDidLoad. Remplacer "datepicker" dans la première ligne avec ce que vous avez nommé votre sélecteur de date.
Objective-C:
UIDatePicker
instances.datePicker.setValue(UIColor.whiteColor(), forKey: "textColor") datePicker.setValue(false, forKey: "highlightsToday")
Voir iOS 7 Ressources de Conception/UIKit Interface Utilisateur Catalog/Sélecteurs de Date
Je suis allé de l'avant et mis en œuvre un
UIDatePicker
de remplacement à l'aide deUIControl
etUIPicker
pour iOS 7. Qui vous permet de modifier tout ce que vous voulez, y compris le texte, les polices et les couleurs.La seule chose que je ne pouvais pas changer la couleur des lignes autour de la ligne sélectionnée.
Il y a des choses qui pourraient être encore simplifiée et il affiche uniquement la date, le pas de temps. Ceci pourrait servir de point de départ pour tous ceux qui veulent faire quelque chose de similaire.
Je suis aux prises avec ce trop, texte noir sur un fond noir. 🙂
Je n'ai pas trouvé un moyen de changer la couleur du texte mais.
Vous pouvez cependant jouer avec la couleur d'arrière-plan:
Un autre hack que j'ai trouvé qui a fonctionné, c'est donner à tous les UIView dans le datepicker (chaque nombre a sa propre UIView, (ouais je sais)
(Je ne recommandons pas d'utiliser cette option car elle provoque un scintillement gênant effet lors de la rotation.)
Espère que cette aide. 🙂
Dans le viewDidLoad,
De travail pour iOS 9
Un peu hacky, mais là encore, ce sont toutes les autres solutions. Cela a fonctionné pour moi: sous-classe UIDatePicker et changer la valeur de la textColor attribut avant d'ajouter tout point de vue à elle.
De changer juste la couleur:
De changer de couleur et d'autres attributs:
Je vais mettre à jour si je celui-ci.
Je remarque que la couleur n'est pas exactement comme la couleur de l'objet ne le voudrait, mais de jouer avec elle et qu'il soit la couleur que vous voulez.
J'ai répondu à une question similaire ici: UIPickerView des Polices Personnalisées iOS7 Fondamentalement, vous avez à pirater le viewForRow: méthode et pour l'instant j'ai seulement eu à travailler pour UIPickerView n'est pas UIDatePickers. (travail sur elle...)
Et voici comment vous pour un UIPickerView pour afficher attribué texte (polices personnalisées, couleurs etc...)
}
Espère que ça aide... je vais modifier ma réponse dès que je figure sur le Sélecteur de Date!
Dans swift, vous pouvez ajouter ces deux lignes à votre viewDidLoad:
Cela fonctionne sous iOS 9
Je suis tombé sur un étonnamment propre solution à l'aide de
UIAppearance
. J'ai trouvé que de tenter de définir latextColor
viaUIAppearance
pour toutUILabel
dans unUIPickerView
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: