Comment puis-je utiliser les deux dans le même UIView correctement?CALayer drawInContext vs addSublayer
Je une sous-classé personnalisé CALayer dans lequel je dessine un motif à l'intérieur drawInContext
j'ai une autre où je configurer une superposition image PNG en tant que contenu.
J'ai un troisième qui est juste un arrière-plan.
Comment superposer ces trois éléments?
[self.layer addSublayer:bottomLayer]; // this line is the problem
[squaresLayer drawInContext:viewContext];
[self.layer addSublayer:imgLayer];
Les 2 autres tirent correctement si je les fais dans cet ordre. Peu importe où j'essaie de mettre bottomLayer, ça empêche toujours dessineLayer de dessiner. La raison pour laquelle j'ai besoin de 3 couches est que j'ai l'intention d'animer les couleurs dans l'arrière-plan et les couches personnalisées. La couche supérieure est juste une superposition graphique.
Plusieurs questions: Êtes-vous sûr que le calque n'est pas dessiné? Ou est-ce être dessiné mais ne vous donne pas les résultats que vous recherchez? Comment les couches se chevauchent-elles? Est-il nécessaire que ces couches soient toutes dans la même vue, ou pourriez-vous en diviser une en une vue différente? – Amagrammer
Salut, eh bien, ils devraient être en mesure d'être dans le même UIView, je suppose que je pourrais utiliser des sous-vues, semble un peu beaucoup à utiliser des vues séparées seulement pour les couches composites. Cependant, j'ai trouvé une solution en faisant 2 couches personnalisées. Tout ce qui est ajouté à self.layer via "addSublayer" semble s'appuyer sur tout ce qui est dessiné via "drawInContext" qui est directement lié au contexte de la couche .layer de la vue. Ok donc, en calculant cela, je viens de rendre 2 couches dans ce contexte et j'ai ajouté l'imgLayer en haut. Fonctionne bien, comme pour l'animation enroulé en utilisant un NSTimer rafraîchissant la vue, qui exécute drawInContext. – Michael