Ios 我可以在相册上使用textview保存图像吗?

Ios 我可以在相册上使用textview保存图像吗?,ios,swift,uiimage,Ios,Swift,Uiimage,我的问题是如何在相册中使用textview保存图像? 我的意思是,当我在图像上书写时,我想用文本视图保存图像,我写了它 这是我的代码,但不起作用 @IBAction func SaveImage(_ sender: Any) { let imageRepresentation = UIImagePNGRepresentation(cv1image.image!) let imageData = UIImage(data: imageRepresentation!

我的问题是如何在相册中使用textview保存图像? 我的意思是,当我在图像上书写时,我想用文本视图保存图像,我写了它

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

@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)

}
这是工作,但文本没有保存

必须使文本视图成为UIImageView的子视图。然而,这在故事板中是不可能做到的。实现所需功能的最简单方法是使用UIView作为容器视图,添加图像视图和文本视图作为子视图,然后可以使用下面的函数对UIView进行快照。您的故事板文档大纲应如下所示

因此,您应该将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)

}

必须使textView成为UIImageView的子视图。然而,这在故事板中是不可能做到的。实现所需功能的最简单方法是使用UIView作为容器视图,添加图像视图和文本视图作为子视图,然后可以使用下面的函数对UIView进行快照。您的故事板文档大纲应如下所示

因此,您应该将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)

}

“不起作用”是什么意思?你能提供任何错误日志或更好地描述行为吗?@aranoid我的意思是不保存在相册中是保存照片,但没有文本视图?还是什么都没有保存?@LoganHenderson什么都没有保存您是否已获得访问用户照片库的权限。你需要在你的信息中添加一个NSPhotoLibraryUsageDescription.plist它是什么意思“不起作用”?你能提供任何错误日志或更好地描述行为吗?@aranoid我的意思是不保存在相册中是保存照片,但没有文本视图?还是什么都没有保存?@LoganHenderson什么都没有保存您是否已获得访问用户照片库的权限。你需要在你的信息中添加一个NSPhotoLibraryUsageDescription。plistit的工作,但文本没有保存textview的背景。它保存了,但文本没有保存,我想当用户放置一些文本并单击保存按钮时,所有保存的文本和图像,希望你理解我不理解。如果您在问题中添加了一张照片以显示您的意思,那么我添加照片您可以看到我的意思您是否尝试在单击“保存”之前关闭键盘。您可能需要确保在保存之前调用了文本视图编辑方法,然后按Edit进行编辑,但文本未保存文本视图的背景已保存但文本未保存,我希望当用户放置一些文本并单击保存按钮时,所有保存的文本和图像都已保存,希望您理解我不理解。如果您在问题中添加了一张照片以显示您的意思,那么我添加照片您可以看到我的意思您是否尝试在单击“保存”之前关闭键盘。您可能希望确保在按下save之前调用text views DiEndediting方法