Comment faire un dégradé conique dans iOS en utilisant Core Graphics / Quartz 2D?

Comment puis-je dessiner un tel gradient conique dans iOS en utilisant Core Graphics / Quartz 2D API?

Échantillon de gradient conique http://ods.com.ua/win/eng/other/gimpdoc-html/painta27.gif

Il n'y a pas de fonction Quartz pour ce style de dégradé. À less que vous ne soyez prêt à creuser derrière les mathématiques, je vous suggère d'utiliser des images pré-faites pour cela. Ce n'est pas un problème si vous n'en avez besoin que pour un masque d'opacité.

Récemment, j'ai créé une class CALayer personnalisée pour ceci: AngleGradientLayer

Ce n'est pas testé pour la performance, alors méfiez-vous.

capture d'écran

Je voulais une solution pure Swift pour cela, et c'était aussi une tâche difficile pour moi.

A la fin, j'ai écrit AEConicalGradient qui fait cela avec une approche intéressante (en utilisant un cercle et en dessinant des lignes de colors différentes au centre).

AEConicalGradient