2010-10-08 5 views
1

Je suis à la recherche dans l'Apple ScrollViewSuite et le Photoscroller, et je me demande comment implémenter un CATiledLayer lors du téléchargement des tuiles par un NSURLConnection: Comment avertir drawRect: qu'une tuile spécifique a été téléchargé et comment est-ce que je garde une trace des rects et des contextes associés à chaque tuile?tuiles pour CATiledLayer avec NSURLConnection

Cordialement Fredrik

+0

Eh bien, s'il vous plaît, un répondre, je vous fais confiance les gars ... – Fredrik

Répondre

0

Je chose, il y a aucun moyen pour ce faire, car il est censé fonctionner à l'inverse. Les mosaïques sont affichées dans un fil séparé et vous pouvez ainsi commencer à télécharger la mosaïque à partir de la méthode drawLayer:InContext:. Bien sûr, ne pas oublier de mettre en œuvre la mise en cache pour les tuiles téléchargés sinon vous tuerez à la fois votre application et votre facture :-)

2

Lorsque vous avez terminé le téléchargement, cache les résultats, puis appelez setNeedsDisplayInRect: avec rect de la tuile. Il appellera drawLayer: inContext: à nouveau, et vous pourrez alors dessiner les résultats mis en cache.

0

Il n'y a aucun moyen d'extraire les informations nécessaires de la couche mosaïque. Je suis actuellement en train d'invalider/redessiner le calque une fois toutes les quelques secondes pour obtenir une sorte de "consistance finale". C'est-à-dire, à un certain moment je m'attends à ce que toutes les tuiles visibles aient été chargées et mises en cache (par mon propre contrôleur). Le rafraîchissement rendra simplement toutes les tuiles en utilisant des images de mon cache. Pour que cela fonctionne, vous devez pouvoir calculer l'ensemble des mosaïques visibles et les (re) télécharger si elles ne sont pas mises en cache. Cette approche a l'énorme avantage de me permettre d'annuler les connexions pour les tuiles qui ne sont plus visibles. Et cela permet à la carte, à terme, de récupérer des erreurs de connexion/serveur etc.

La couche carrelée aurait besoin d'exporter beaucoup de internals si vous voulez sortir de cette approche du scrutin », comme qui tuiles, il a mis en cache et qu'il est actuellement intéressé.

Questions connexes