将两个 imageView 合并为一个并保存 iOS swift

Merge two imageViews into one and save iOS swift

我有 2 个 imageView,如下所示。 (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)
}

但是你应该重新编辑尺码。例如,如果您使用的是自动布局,则可以创建 IBOutlet 并使用它代替我使用的 layer.frame.size 属性。

希望对您有所帮助。