2010-01-07 7 views
2

Je cherche à assembler des images ensemble, les images étant toujours ajoutées au bas de l'image précédente.Comment joindre x nombre de UIImages ensemble?

par exemple. Je les images A, B et C. Je les voir apparaître sur le dessus les uns des autres comme:

A 
B 
C 

Quelle est la meilleure façon de le faire?

Merci!

+0

Une autre question concernant la façon de mélanger deux UIImages: http://stackoverflow.com/questions/1309757 –

+0

ne traitent en fait vous voulez dire et faire une grande image sur cela, ou voulez-vous dire juste pour l'afficher comme ça? – phunehehe

+0

J'essaie d'obtenir une grande image sur les trois plus petits –

Répondre

12

Je l'ai fait à la fin:

+ (UIImage *)joinImages:(UIImage *)im1 secondImage:(UIImage *)im2 thirdImage:(UIImage *)im3 
{ 
//Joins 3 UIImages together, stitching them vertically 
CGSize size = CGSizeMake(320, 480); 
UIGraphicsBeginImageContext(size); 

CGPoint image1Point = CGPointMake(0, 0); 
[im1 drawAtPoint:image1Point]; 

CGPoint image2Point = CGPointMake(0, im1.size.height); 
[im2 drawAtPoint:image2Point]; 

CGPoint image3Point = CGPointMake(0, im1.size.height +im2.size.height); 
[im3 drawAtPoint:image3Point]; 

UIImage* finalImage = UIGraphicsGetImageFromCurrentImageContext(); 
UIGraphicsEndImageContext(); 

return finalImage; 
} 
+0

+1 intelligent! (15 caractères) –

1

Créez un UIView, puis ajoutez plusieurs instances UIImageView en tant que sous-vues. Définir l'image pour chaque sous-vue, et vous êtes tous ensemble. Si vous avez un ensemble fixe d'images (ou au moins un nombre fixe), vous pouvez faire toute la mise en page dans InterfaceBuilder. Sinon, il suffit de créer une nouvelle UIImageView, puis d'appeler addSubView: sur la vue parente.

http://developer.apple.com/iPhone/library/documentation/UIKit/Reference/UIView_Class/UIView/UIView.html#//apple_ref/occ/instm/UIView/addSubview:

Si l'ensemble des images sera plus grand que l'écran, vous aurez envie d'utiliser un UITableView.

+0

Pourquoi pas un UIScrollView? – Nimrod

+0

TableView videra automatiquement les vues d'image lorsqu'elles sont hors écran. La plupart du temps, ce serait ce que vous voulez, car cela minimise l'utilisation de la mémoire. –