À L'Aide De CALayer Délégué

J'ai une UIView dont les couches ont des sous-couches. J'aimerais attribuer des délégués pour chacune de ces sous-couches, de sorte que le délégué méthode peut dire la couche de quoi dessiner. Ma question est:

Que dois-je fournir comme CALayer du délégué? La documentation dit de ne pas utiliser le UIView les couches de résidence, tel que cela est réservé pour les principaux CALayer de la vue. Mais, la création d'une autre classe juste pour être le délégué de la CALayers je créer défaites le but de ne pas sous-classement CALayer. Ce sont des personnes généralement en utilisant en tant que délégué pour CALayer? Ou devrais-je simplement une sous-classe?

Aussi, pourquoi est-ce que la classe implémentant le délégué méthodes n'ont pas à se conformer à une sorte de CALayer protocole? C'est une vaste question générale, je ne comprends pas très bien. Je pensais que toutes les classes nécessitant la mise en œuvre de déléguer les méthodes de spécification de protocole pour les agents à respecter.

  • Je peux confirmer que l'utilisation d'un contenant de vue en tant que délégué bloque l'application, sans une trace de la pile, même si je ne suis pas d'appliquer le délégué des méthodes.
  • Avez-vous jamais obtenir que cela fonctionne?
  • J'ai fini par créer une classe qui sous-classe NSObject, qui réside dans le même fichier que celui de la vue, nommé quelque chose comme <UIView>LayerDelegate. Le but de ce cours est spécifiquement pour gérer le délégué de rappel. Il est assez facile à maintenir car ils sont dans le même fichier. Cette classe est la seule méthode est drawLayer:inContext: poignées et le dessin.