Im пытается сделать функцию отмены для моего приложения для рисования в iOS. Мой подход заключается в том, что после каждого чертежа (линии, прямые линии, квадраты, круги) чертеж будет добавлен в массив, чтобы я мог поп-удалять/исключить lastObjectIndex массива при отмене, а затем перерисовать содержимое массива до изображение. Я использую NSMutableArray и UIImage и использую UIGraphicsGetImageFromCurrentImageContext. Мой вопрос: как я могу отобразить все массивы изображений в один UIImageView?Добавить изображения из массива в ImageView
Вот мой код:
imgArray = [[NSMutableArray alloc] init];
UIImage *tempImg = [[UIImage alloc] init];
tempImg = UIGraphicsGetImageFromCurrentImageContext();
[imgArray addObject:tempImg];
UIGraphicsEndImageContext();
UIGraphicsBeginImageContext(mainImage.frame.size);
[mainImage.image drawInRect:CGRectMake(0, 0, self.view.frame.size.width, self.view.frame.size.height) blendMode:kCGBlendModeNormal alpha:1.0];
[tempImage.image drawInRect:CGRectMake(0, 0, self.view.frame.size.width, self.view.frame.size.height) blendMode:kCGBlendModeNormal alpha:opacity];
mainImage.image = tempImg; //UIGraphicsGetImageFromCurrentImageContext();
tempImage.image = nil;
UIGraphicsEndImageContext();
Что вы подразумеваете под "отображать все"? вы назовете [yourUIImageView setImage: [imgArray objectAtIndex: index]]? – boreas
Почему вы не используете несколько экземпляров UIImaveView (по одному для каждого UIImage)? Этот способ должен быть простым в реализации, и вы можете иметь больше взаимодействия для каждого объекта, например, изменить размер или фрейм. Но если вы хотите нарисовать все изображения только в одном UIImageView, вы можете, например, использовать многослойный слой и нарисовать одно изображение в каждом слое или реализовать алгоритм для рисования изображений в методе рисования. – Zasuk
@boreas: Да, я пробовал это, но показан только последний рисунок, и последние рисунки на UIImageView очищаются. –