Je me demande s'il est possible de changer une couleur par défaut de boutons dans mon application avec quelques lignes de code? Il peut être vraiment ennuyeux de changer manuellement la couleur de chaque bouton. Surtout si vous en avez beaucoup. Par exemple, je souhaite que tous mes boutons soient orange au lieu du blanc d'origine. Nous vous remercions d'avance, Ilya.Changement de couleur de tous les éléments d'interface du même type
Répondre
Je crains qu'il n'y ait pas de paramètre global.
Il est possible de parcourir toutes les vues et sous-vues d'un objet, d'interroger leur type, puis d'appliquer des couleurs personnalisées selon les besoins. Cela vous permet d'avoir une place dans votre application à laquelle vous transmettez vos vues et tout est appliqué.
Quelque chose comme;
//! Applies application specific styles to UIKit objects
void applyStyles(UIView* view)
{
for(UIView* subview in view.subviews)
{
// test type of view
if([[subview class] isEqualToString:@"UIButton"] == YES)
{
// apply colors for buttons
}
else if([[subview class] isEqualToString:@"SomethingElse"] == YES)
{
// apply colors for something else
}
}
}
je recommande la création d'une sous-classe de UIButton (MyCustomButton) et d'appliquer ce que les éléments stylistiques que vous voulez dans le constructeur de votre sous-classe.
Passant UIButtons à une sorte de « StyleManager », comme suggéré ci-dessus est une meilleure approche que de dire
button.backgroundColor = [UIColor orangeColor];
mais vous devez toujours passer par votre code et dire quelque chose comme
[StyleManager applyStyles:viewThatContainsButton];
Cette répand la solution d'appliquer des styles à probablement tous les contrôleurs et certains éléments de vue dans votre base de code. Créer une sous-classe vous permet d'appliquer le style avec une ligne de code, pas une ligne par vue.
collecte la solution à votre problème dans une classe élimine cette prolifération de solution et devrait permettre de réduire l'entretien effort aussi bien.
- 1. Utilisez des "références" pour plusieurs éléments du même type
- 2. Couleur de police, taille, changement de police
- 3. Changement de couleur de cellule JTable
- 4. Changement de valeur d'un élément dans une collection affecte tous les éléments en double
- 5. Obtenir tous les éléments du curseur dans android
- 6. Spécification du type des éléments de ArrayList
- 7. Obtenir tous les éléments de démarrage?
- 8. désactiver tous les éléments html
- 9. Réécriture du sous-répertoire | Inclure tous les éléments relatifs
- 10. Impression du même contenu dans tous les navigateurs
- 11. Couleur d'arrière-plan différente pour les éléments de formulaire
- 12. Obtention de tous les éléments de moins d'un mois
- 13. C# Silverlight Datagrid - Changement de couleur de ligne
- 14. Quelle est la manière la plus simple d'implémenter le changement de couleur d'arrière-plan mouseover pour les éléments HTML?
- 15. Les requêtes MySQL explorent lors du changement de serveurs
- 16. Récurrence infinie essayant de vérifier tous les éléments d'un TreeCtrl
- 17. Comment puis-je modifier les éléments et les modèles de contenu en fonction du type d'objet?
- 18. Remplacer SRC de tous les éléments IMG en utilisant Parser
- 19. Android: Comment faire tous les éléments à l'intérieur LinearLayout même taille?
- 20. Changement UITabBarItem Couleur Teinte sur iPhone
- 21. Tous les éléments Enum to string (C#)
- 22. Comment changer la couleur du texte sur les éléments du bouton UINavigationBar
- 23. En boucle dans tous les éléments de ListBox?
- 24. Sélection de tous les éléments d'un profil structuremap
- 25. Sélection de tous les éléments après la liaison WPF ListView
- 26. xPath comportement étrange - sélectionnant TOUS les éléments même si [1] mis
- 27. retourner tous les éléments XML ayant le même nom dans linq
- 28. Comment puis-je demander à Emacs de restaurer tous les tampons inchangés lors du changement de branche dans git?
- 29. Algorithme: déplacement à travers tous les éléments du tableau avec une contrainte de déplacement limitée
- 30. Appliquer la couleur aléatoire aux éléments de classe individuellement?
Je pense que ces tests devraient être '[subview isKindOfClass: [UIButton class]]' – benzado