2009-12-03 4 views
0

J'ai créé UIScrollView et ajouté UIView avec beaucoup de UIButtons en mosaïque dans l'UIView. Mon problème est, quand chaque fois que je dézoome le contenu en utilisant la méthode zoomToRect de UIScrollView à l'échelle minimale que je définis, le zoom arrière n'est pas lisse. Mais zoom-in et zoom-out pour la deuxième fois est lisse. Comment puis-je effectuer le zoom pour la première fois pour un zoom progressif?Effectuer un zoom avant pour la première fois dans UIScrollView n'est pas lisse

Merci.

Répondre

1

Le zoom initial lent est évidemment dû au fait que le téléphone alloue tous les boutons UIB la première fois qu'il doit les dessiner. Ils doivent être alloués de manière incrémentielle ou avant que l'utilisateur commence à interagir avec eux.

Que faites-vous qui exige tant de chargement et de dessin? Il ne semble pas que l'utilisateur puisse interagir avec le million de boutons qu'ils pourraient voir. Je suggère d'ajouter une pile de code à une sous-classe UIScrollView qui le rende attentif à la taille de son contenu, et il peut ensuite initer les UIButtons nécessaires avant que l'utilisateur commence à interagir avec votre UIScrollview, ou de manière incrémentielle comme je l'ai dit.

Il existe un code de démo appelé «Tiling» qui permet d'utiliser UIScrollViews pour gérer un contenu volumineux. C'est assez complexe, mais une démo très complète que je suis sûr que la plupart des projets implémentent s'ils traitent UIScrollViews avec du contenu en mosaïque.

+0

Merci, mais je ne trouve pas la démo Tiling que vous avez mentionnée. – domlao

Questions connexes