2010-03-25 5 views
1

J'utilise un CATiledLayer comme contenu de UIScrollView, mais je semble ne peux pas le bon (parfois) [ScrollView contentSize] et [ScrollView contentOffset] de la méthode déléguée de CATiledLayer:UIScrollView et CATiledLayer

- (void)drawLayer:(CALayer *)layer inContext:(CGContextRef)ctx 

Je sais CATiledLayer utilise cette méthode pour rendre la mosaïque dans un thread d'arrière-plan. Et j'ai besoin d'utiliser contentSize et contentOffset pour calculer certaines données (certaines coordonnées). L'application a fonctionné très bien sur simulateur, mais sur l'appareil, il a parfois la mauvaise contentSize et contentOffset

+0

Comment loin sont les contentSize/valeurs de décalage sur l'appareil? Une question d'arrondi ou d'unités entières? Ne pourriez-vous passer le contentSize que vous savez être vrai au délégué contenant le drawLayer: inContext: méthode? Cela ne devrait pas changer pendant que vous faites défiler/zoomer, sinon vos tuiles auraient besoin d'être redessinées. - Ceci est bien sûr, pas une réponse à votre question. – epologee

+0

Wow cette question a un an. Je suppose que vous l'avez compris maintenant. À votre santé. – epologee

Répondre

0

CATiledLayer ne calcule pas ces valeurs pour vous, vous devez les définir.

noter que pour la taille de la tuile ne s'applique pas contentScale. Donc, sur Retina, les carreaux individuels sont deux fois moins grands que ce que vous spécifiez.

Si vous voulez toujours une réponse pour cela, vous devez clarifier la question.

Questions connexes