YPDrawSignatureView,在iOS应用程序中捕获/保存签名

时间:2015-08-31 01:49:26

标签: ios image swift github uigraphicscontext

我在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)
}

我希望将该签名保存为图像,并使其显示在应用程序的主视图上(作为表单的签名)。它在哪里保存到哪里以及如何在该视图中访问它?

谢谢!

1 个答案:

答案 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)