ios - 我可以在相册中保存带 TextView 的图像吗?

标签 ios swift uiimage

我的问题是如何在相册中保存带有 textview 的图像? 我的意思是,当我写在图像上时,我想用我写的 textview 保存图像 Click to see the Image

这是我的代码,但不起作用

@IBAction func SaveImage(_ sender: Any) {
        let imageRepresentation = UIImagePNGRepresentation(cv1image.image!)
        let imageData = UIImage(data: imageRepresentation!)
        UIImageWriteToSavedPhotosAlbum(imageData!, nil, nil, nil)

        let alert = UIAlertController(title: "Completed", message: "Image has been saved!", preferredStyle: .alert)
        let action = UIAlertAction(title: "Ok", style: .default, handler: nil)
        alert.addAction(action)
        self.present(alert, animated: true, completion: nil)

}

它可以工作,但文本没有保存 enter image description here

最佳答案

您必须使 textView 成为 UIImageView 的 subview 。然而,这在 Storyboard中是不可能的。完成你想要的最简单的方法是使用 UIView 作为容器 View ,将 ImageView 和 TextView 添加为 subview ,然后你可以使用下面的函数对 UIView 进行快照。您的 Storyboard文档大纲应如下所示

enter image description here

   func snapshot(view: UIView) -> UIImage? {
        UIGraphicsBeginImageContext(view.bounds.size)
        let savedFrame = view.frame;
        view.layer.render(in: UIGraphicsGetCurrentContext()!)
        let image = UIGraphicsGetImageFromCurrentImageContext();
        view.frame = savedFrame;
        UIGraphicsEndImageContext();
        return image
    }

因此,您应该将 IBAction 更改为以下内容。您必须获取对包含这两个元素的 UIView 的引用。我在下面的代码中将其称为“containerView”。

@IBAction func SaveImage(_ sender: Any) {
        let image = snapshot(view: containerView)
        let imageRepresentation = UIImagePNGRepresentation(image!)
        let imageData = UIImage(data: imageRepresentation!)
        UIImageWriteToSavedPhotosAlbum(imageData!, nil, nil, nil)

        let alert = UIAlertController(title: "Completed", message: "Image has been saved!", preferredStyle: .alert)
        let action = UIAlertAction(title: "Ok", style: .default, handler: nil)
        alert.addAction(action)
        self.present(alert, animated: true, completion: nil)

}

关于ios - 我可以在相册中保存带 TextView 的图像吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/45920055/

相关文章:

ios - 在实时 iphone 摄像头中使用 OpenCV 检测物体的存在

ios - 在导航 Controller 中使用默认后退按钮

iOS Swift 使用 image.xcassets VS 将图像放在 xcode 文件夹中

swift - 归档项目卡了几个小时

objective-c - 将 Objective-c 文件移植到 Swift 后删除了该文件,并报告文件 :. .. 警告 : Missing file: . .. 缺失

ios - iPhone 4s-UIImage CGImage图像尺寸

ios - 动画后如何将 UIImage 保持在新位置?

html - Apple FaceTime URL 方案未发起调用

ios - 为什么 UINavigationController 在容器 View 中有意外的大小?

swift - 如何在 Swift 3 中创建具有 QoS 属性的 dispatch_queue?