Ios 将两个ImageView合并为一个并保存

Ios 将两个ImageView合并为一个并保存,ios,iphone,swift,uiimageview,Ios,Iphone,Swift,Uiimageview,我有两个图像视图,如下所示。(ScrollView具有imageView的子视图) 我想拍摄每一张照片并合并成一张 我试着使用截图和裁剪。但当涉及到不同的iphone屏幕尺寸和分辨率时,效果并不理想 有谁能告诉我怎么做吗?为什么不把它们都添加到一个UIView中呢 也可以将子视图添加到图像视图并扩展框架 [secondImageView setFrame:CGRectMake(x,y + newImageHeight,width,height)]; [self.myImageView setF

我有两个图像视图,如下所示。(ScrollView具有imageView的子视图)

我想拍摄每一张照片并合并成一张

我试着使用截图和裁剪。但当涉及到不同的iphone屏幕尺寸和分辨率时,效果并不理想


有谁能告诉我怎么做吗?

为什么不把它们都添加到一个UIView中呢

也可以将子视图添加到图像视图并扩展框架

[secondImageView setFrame:CGRectMake(x,y + newImageHeight,width,height)];
[self.myImageView setFrame:CGRectMake(x,y,width,height + newImageHeight)];
[self.myImageView addSubview:secondImageView];

我认为你的方法是正确的,而且用这种方法你可以很容易地解决规模问题

func mergeScreenshot() {
    let layer = UIApplication.sharedApplication().keyWindow.layer
    let scale = UIScreen.mainScreen().scale
    UIGraphicsBeginImageContextWithOptions(layer.frame.size, false, scale); // reconsider size property for your screenshot

    layer.renderInContext(UIGraphicsGetCurrentContext())
    let screenshot = UIGraphicsGetImageFromCurrentImageContext()
    UIGraphicsEndImageContext()

    UIImageWriteToSavedPhotosAlbum(screenshot, nil, nil, nil)
}
但您应该再次编辑大小。例如,如果您使用autolayout,您可以创建
IBOutlet
,然后使用它来代替我使用的
layer.frame.size
属性

希望能有帮助