2013-09-24 4 views
0

Quelqu'un peut-il me dire comment charger ou définir des images avec des résolutions élevées dans UIScrollView. Je reçois un avertissement de mémoire et l'application tombe en panne sans aucune trace de pile. Merci d'avance.Comment charger des images avec en haute résolution dans UIScrollView

+1

Définissez haute résolution s'il vous plaît. – Desdenova

+0

Combien d'images chargez-vous en même temps? – Ushan87

+0

3 images à la fois .. encore l'application se bloque sur l'appareil mais fonctionne en simulateur. –

Répondre

0

Vous devez utiliser le concept de chargement paresseux. Comme vous l'avez dit, vous avez utilisé UIScrollView, ce qui signifie que vous avez beaucoup d'images et je suppose que vous les montrez une par une, deux ou trois à la fois. Chargez uniquement les images visibles par l'utilisateur. Une autre chose que vous devez maintenir c'est lorsque l'utilisateur balaye l'image suivante ou la prochaine branche d'images qui est la prochaine image (s) qui va être visible pour l'utilisateur. A ce moment, avant le chargement, les nouvelles images libèrent toutes les images précédemment chargées de la mémoire. J'espère que ça va résoudre votre problème.

3

Je travaillais également sur une application qui avait UIScrollView et a dû demander des images haute résolution. La chose est, vous devriez d'abord vérifier la taille des images en cours de téléchargement. Disons, si la taille de l'image est supérieure à 10 Mo, il serait difficile pour votre application de survivre avec une charge aussi lourde.

Vous pouvez envisager les méthodes suivantes.

1.Download vos images et de les compresser.

2.At une instance particulière du temps, il n'y a pas besoin de remplir votre tableau de vues de défilement avec toutes les images à la fois, essayez au lieu d'avoir seulement trois images, à savoir

1. un courant qui est étant montré.

2.Le précédent.

3.And l'image à côté de l'actuel.

Vous pouvez également prendre l'aide du lien http://www.raywenderlich.com/10518/how-to-use-uiscrollview-to-scroll-and-zoom-content

+0

Merci vaibhav_15 .. J'ai obtenu une méthode pour réduire la résolution de l'image. 'code' + (UIImage *) imageWithImage: (UIImage *) l'image scaledToSize: (CGSize) newSize { UIGraphicsBeginImageContext (newSize); [image drawInRect: CGRectMake (0,0, newSize.width, newSize.height)]; UIImage * newImage = UIGraphicsGetImageFromCurrentImageContext(); UIGraphicsEndImageContext(); return newImage; } –

+0

Mon plaisir. Pourriez-vous s'il vous plaît marquer la réponse comme utile? –

0

Si vous essayez de créer plusieurs UIImageView de l'image à haute résolution à l'intérieur UIScrollView, il va créer avertissement de mémoire et de l'application va se planter.

Je vais vous suggérer d'essayer réutilisable UIImageView, comme créer 3 UIImageView et remplacer les images qu'il.

Essayez une vue de défilement circulaire. link ou UICollectionView

Questions connexes