2010-04-18 6 views
0

J'ai besoin d'afficher 10 - 1000 images sur un UIScrollView. La pagination est activée. Donc, chaque page de la scrollview est une image, c'est une image. Je peux charger 10 images à 10 uiimages qui restent dans la mémoire, mais avec 1000 images j'ai des problèmes sur l'iPhone ou sur l'iPad. J'essaie de décharger puis de charger les images quand je fais défiler. Je montre à chaque fois 3 images. L'image de la page en cours et les pages -1 et +1. Quand je défile, je décharge l'image, puis charge la suivante. Avec cette méthode, j'ai deux problèmes. Le défilement est laggy et si je défile très vite les images n'apparaissent pas. Peut-être y a-t-il une bonne solution à ces problèmes? Pouvez-vous me suggérer un?UIScrollView et UIImage dans celui-ci avec pagination activée

Répondre

1

+0

J'espère que ce sera utile. :) –

2

Vous devez utiliser une table avec de grandes cellules personnalisées contenant chacune une vue d'image. De cette façon, vous n'avez jamais plus de quelques vues d'image à la fois. La table va gérer l'échange des images qui devraient être visibles pour vous afin que vous n'ayez pas à écrire tout ce code vous-même. Cependant, même avec une table, vous obtiendrez de mauvaises performances si vous essayez d'afficher 1 000 grandes images (disons 20% + de la taille de l'écran). Je n'ai pas essayé cela sur l'iPad mais l'iPhone n'a tout simplement pas la puissance et la mémoire pour gérer rapidement autant d'images.

Au lieu de cela, vous devez copier le système hiérarchique de la photothèque. Présentez les vignettes, puis une vue détaillée de l'image complète ou une vue détaillée défilante d'un côté à l'autre qui ne montre qu'une image à la fois. Cela a l'avantage d'être une interface que l'utilisateur connaît déjà parfaitement. Peut-être le TTPhotoViewController du projet three20 serait-il utile?

+0

Je vais essayer. Merci, c'est une bonne idée d'utiliser une tableview. –

+0

Encore une question. Y a-t-il un moyen d'utiliser la tableview en mode horizontal? –

+0

Donc, dans tableView je ne peux pas activer la pagination ... Cependant, j'ai fait une tableview qui a un défilement horizontal sans défilement vertical, mais j'ai besoin de pagination ... Est-ce que quelqu'un a une idée? –

Questions connexes