Je crée des éléments personnalisés dans mon application et je veux faire correspondre l'apparence du nouvel iOS. iOS 7 nous a présenté une couleur bleue plus claire très commune, la couleur ou la teinte par défaut pour plusieurs éléments, y compris le bouton système, le contrôle segmenté, etc.
Cependant, je n'ai pas trouvé comment accéder facilement à la couleur par programme. J'ai vérifié la documentation UIColor , et il ne semble pas y avoir d'accesseur pour la couleur du système bleu dans la classe elle-même.
Voici ma question: existe-t-il un simple accesseur pour cette couleur? [UIColor ?]
ou quelque chose comme ça? Sinon, quelqu'un connaît-il les valeurs RVB exactes pour cette couleur?
UIView().tintColor
, mais en fait vous ne pouvez pas. Je ne sais pas à quel moment l'UIView obtient le jeu de couleurs de teinte ...UIWindow
ou peut-être sa vue racine a la version originale. Les vues héritent de leur couleur de teinte des vues supérieures de la chaîne de répondeurs, mais dans votre exemple, la nouvelle vue n'a pas de vue d'ensemble.self.view.tintColor
de l'intérieurUIViewController.viewDidLoad()
donne le bon bleu.Il semble que ce soit le cas
[UIColor colorWithRed:0.0 green:122.0/255.0 blue:1.0 alpha:1.0]
.la source
UIColor(red: 0.0, green: 122.0/255.0, blue: 1.0, alpha: 1.0)
La couleur bleue par défaut d'iOS 7 est
R:0.0 G:122.0 B:255.0
la source
0x007aff
Selon la documentation pour UIButton:
En supposant que vous ne modifiez pas la teinte avant de saisir la valeur par défaut, vous pouvez utiliser:
la source
sharedApplication()
n'a paskeyWindow
detintColor
Voici une méthode simple pour obtenir la couleur de teinte système par défaut:
la source
dispatch_once
est assez faible et est un seul si check dans le cas commun.UIColor
sur plusieurs threads. L'envelopper dans undispatch_once
permet de récupérer en toute sécurité cette couleur sur n'importe quel fil. Et encore une fois, les frais généraux sont très faibles.Code couleur hexadécimal
et vous avez besoin de cette bibliothèque https://github.com/thii/SwiftHEXColors
ps. iOS, Swift
la source
rapide 4 voies:
la source
Cette extension vous donne la couleur bleue du système natif.
METTRE À JOUR
Veuillez oublier ce que j'ai écrit ci-dessus, je viens de comprendre - il existe une extension native avec des couleurs système prédéfinies que nous recherchions, y compris le bleu système :
Vous pouvez l'utiliser directement:
la source
static let system = UIView().tintColor!
bien mieux que votre variante.Obtenez la couleur automatiquement en utilisant ce code:
la source
La
UIWindow.tintColor
méthode ne fonctionnait pas pour moi dans iOS8 (elle était toujours noire), j'ai donc dû faire ceci:Cela a donné la teinte bleue appropriée vu dans un
UIBarButtonItem
la source
Depuis iOS 7, il existe une API et vous pouvez obtenir (et définir) la couleur de la teinte avec:
Ou si vous avez besoin du CGColor:
la source
Dans de nombreux cas, ce dont vous avez besoin est
ou pour rapide
la source
tout en définissant la couleur, vous pouvez définir la couleur comme ceci
la source
/255.0
avec chaquergb
valeur?L'ajout d'une catégorie à UIColor de la manière suivante la rendra disponible à tout moment où vous en aurez besoin ou même changer sa définition à travers votre code:
Une fois que vous avez importé la catégorie dans votre code, vous pouvez appeler la couleur en utilisant:
la source
blue
red
+ (instancetype)iOS7redColor;