Как мне соединить x количество UIImages вместе? - PullRequest
2 голосов
/ 07 января 2010

Я хочу сшить несколько изображений вместе, причем изображения всегда добавляются в конец предыдущего изображения.

например. У меня есть изображения A, B и C. Я бы хотел, чтобы они появлялись друг над другом, например:

A
B
C

Какой лучший способ сделать это?

Спасибо!

Ответы [ 2 ]

12 голосов
/ 07 января 2010

Я сделал это в конце концов:

+ (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;
}
1 голос
/ 07 января 2010

Создайте UIView, затем добавьте несколько экземпляров UIImageView в качестве подпредставлений. Установите изображение для каждого подпредставления, и все готово. Если у вас есть фиксированный набор изображений (или, по крайней мере, фиксированное число), вы можете сделать все макеты в InterfaceBuilder. В противном случае, это просто вопрос создания нового UIImageView, а затем вызова addSubView: в родительском представлении.

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

Если набор изображений будет выше экрана, вам нужно использовать UITableView.

...