Manuellement le dessin d'un gradient dans les applications de l'iPhone?
Si j'ai deux UIColors, quelle est la meilleure façon de tracer un même gradient entre eux sur un arbitrairement la taille de la zone?
Je devine que vous devez créer une sous-classe UIView et l'utilisation de la CG méthodes de dessin dans la méthode drawRect. Je ne sais pas qui, ou s'il y a des écueils à éviter, comme la performance. Quelqu'un a fait cela?
Voir cette réponse: stackoverflow.com/questions/422066/...
OriginalL'auteur Mike McMaster | 2008-10-22
Vous devez vous connecter pour publier un commentaire.
Vous aurez envie d'utiliser CGGradient. Voir l'iPhone Dev Center "CGGradient De Référence" document.
Un grand effort de la il y, les liens vers les docs.
Ce lien fonctionne mieux: developer.apple.com/library/ios/#documentation/GraphicsImaging/...
Vous pourriez donner des exemples au moment de quitter réponse.
Lien-seulement les réponses doivent toujours fournir de l'information essentielle dans la réponse au cas où le lien est mort.
OriginalL'auteur Ben Gottlieb
N'oubliez pas d'ajouter QuartzCore bibliothèque à votre projet.
OriginalL'auteur Anton Chikin
Le moyen rapide pour ajouter de Gradient est :
UIColor()
est une classe d'assistance rapide pour convertirhex color
àrgb color
, fortement recommandé."000000".UIColor.CGColor
?C'est une Swift de la Chaîne d'extension de convertir les 6 chiffres de la Chaîne d'UIColor. Vous pouvez facilement le trouver sur github.
Je veux dire, je vous invite à le mentionner dans votre réponse. Pas tout le monde est à l'aide de l'extension dans la fin. Je vous suggère d'ajouter au moins un lien vers l'extension. De plus, la réponse est bien, mais il est vraiment facile à aller avec un moyen standard de l'instanciation de couleurs pour des raisons de simplicité (p. ex.
UIColor.whiteColor().CGColor
) que la question est sur les dégradés, pas hex-représentation des couleurs. Enfin,UIColor()
n'est pas une classe d'assistance, c'est un objet intégré.OriginalL'auteur Reza_Rg
Même-ish solution que @Anton Chikin, mais un peu plus robuste. Avis de la substitution de
layerClass
... de cette façon, vous n'avez pas à vous soucier des réglages de l'image et le cadre est automatiquement mis à jour lors de la rotation & redimensionner.Si vous êtes en utilisant de l'IB, vous pouvez définir les propriétés par l'intermédiaire de "Défini par l'Utilisateur Runtime Attributs".
Si vous n'êtes pas à l'aide de l'IB, utiliser les autres initialiseur.
OriginalL'auteur tybro0103
J'ai trouvé que l'utilisation de CAGradientLayer produit un gradient de notable marcher
Fini l'utilisation de ce
Que par cette question Les Gradients de UIView et UILabels Sur iPhone
OriginalL'auteur Luke
salut vous pouvez utiliser la suite à appliquer le dégradé sur la vue
OriginalL'auteur Amit Shelgaonkar
Pour les vues que dessiner du texte, comme
UILabel
,UITextView
, etUITextField
, vous devez ajouter le gradient à l'intérieur de ladrawRect
fonction. (voir ce post pour un exemple).Il y a un grand sous-classes de
UILabel
,UITextView
, etUITextField
qui vous permettent d'ajouter un dégradé assez facilement (voir JBGradient sur GitHub).OriginalL'auteur Jbryson