У меня есть ответ. Используйте ниже код и добавьте маску градиента к обоим изображениям на границе. Вы можете перенести некоторый пиксель второго кадра просмотра изображения на первое изображение, так что первая граница изображения и вторая граница изображения будут полностью слиты.
-(void)addGradientTo:(UIImageView*)imageView {
CAGradientLayer *gradient = [CAGradientLayer layer];
gradient.frame = imageView.bounds;
gradient.colors = [NSArray arrayWithObjects:
(id)[[UIColor colorWithWhite:0 alpha:0.2] CGColor],
(id)[[UIColor colorWithWhite:0 alpha:1] CGColor],
(id)[[UIColor colorWithWhite:0 alpha:1] CGColor],
(id)[[UIColor colorWithWhite:0 alpha:0.2] CGColor], nil];
gradient.locations = [NSArray arrayWithObjects:
[NSNumber numberWithFloat:0],
[NSNumber numberWithFloat:.1],
[NSNumber numberWithFloat:.9],
[NSNumber numberWithFloat:1], nil];
gradient.startPoint = CGPointMake(0,0.3);
gradient.endPoint=CGPointMake(1,0.3);
[imageView.layer setMask:gradient];
}
Оба изображения должны быть размыта на краю. Изображения должны пересекаться. Одно из этих изображений должно иметь альфа-градиент в области перекрытия. – kelin