我在Github(https://github.com/yuppielabel/YPDrawSignatureView)上使用YPDrawSignatureView自定义类,并且我将我的应用程序设置为以模态方式呈现一个新视图,能够签名并保存/取消图像。< / p>
我在课堂上使用默认的保存功能,但我完全不知道它是如何工作的或保存在哪里。
以下是该功能的代码:
// MARK: Save the Signature as an UIImage
func getSignature() ->UIImage {
UIGraphicsBeginImageContext(CGSizeMake(self.bounds.size.width, self.bounds.size.height))
self.layer.renderInContext(UIGraphicsGetCurrentContext())
var signature: UIImage = UIGraphicsGetImageFromCurrentImageContext()
UIGraphicsEndImageContext()
return signature
}
这就是我所说的:
@IBAction func saveButton(sender: UIButton) {
SignatureImage = signatureCaptureField!.getSignature()
dismissViewControllerAnimated(true, completion: nil)
}
我希望将该签名保存为图像,并使其显示在应用程序的主视图上(作为表单的签名)。它在哪里保存到哪里以及如何在该视图中访问它?
谢谢!
答案 0 :(得分:1)
getSignature()
应该返回UIImage
。这是签名的存储图像。
@IBAction func saveButton(sender: UIButton) {
let image = signatureCaptureField!.getSignature()
dismissViewControllerAnimated(true, completion: nil)
}
您可以访问图像的NSData并保存它:
var imageData = UIImagePNGRepresentation(image)
let documentsPath = NSSearchPathForDirectoriesInDomains(.DocumentDirectory, .UserDomainMask, true)[0] as String
let destinationPath = documentsPath.stringByAppendingPathComponent("filename.png")
imageData.writeToFile(destinationPath, atomically: true)
或者创建一个UIImageView将其显示给用户:
let imageView = UIImageView(image: image)
imageView.sizeToFit()
view.addSubview(imageView)