在我的应用程序中,用户将从客户那里请求一个数字化的手写签名。
我需要捕获签名的能力,因为用户‘写’它在触摸屏上。我还需要存储数字化签名的图像以供将来使用。
我需要帮助或指针来使我的应用程序具有数字签名?
发布于 2014-01-21 03:56:45
既然您实际上是在谈论在iOS设备上记录用户的“模拟”签名,那么您所需要做的就是在用户在视图中移动手指或触笔时创建一个图像。网上有许多教程可以说明这一点(这里是one from Ray Wenderlich's site)。
基本思想是通过在视图中跟踪触摸时添加点来构建路径。当用户完成后,您可以保存生成的图像本身,或者只保存一个或多个路径。因此,您可能会创建一个名为SignatureView之类的UIView子类,并实现与触摸相关的响应器方法-touchesBegan:withEvent:、-touchesMoved:withEvent:、-touchesEnded:withEvent:和-touchesCancelled:withEvent:。当触摸开始时,您将创建一个新的bezier路径。每次触摸移动时,向该路径添加一个点。触摸结束后,将新路径添加到视图已记录的路径列表中。您可能还需要一个通过清除路径列表来擦除视图的方法,以及一个绘制路径的-drawRect:方法,以及让视图控制器以某种方式检索路径或图像的方法。
此外,不用说,你需要非常小心地处理用户的签名。避免存储签名的未加密图像,也可能完全避免将签名存储在设备上。相反,您可以将签名发送到可能更容易保护的服务器。
发布于 2014-03-24 01:50:40
我想下面的链接会对你有所帮助!无论如何,当我在互联网上搜索同样的目的时,我发现了这些!希望这对我们所有人都有效!
以下链接是关于同一资源的:在iOS设备上捕获手写签名。
备注:
截至今天(2015年11月13日),我注意到(altamiracorp.com)上面提供的第一个链接由于某种未知的原因不可用,可能是他们已经关闭了他们的网站。因此,我想公开分享我在EverNote中保存的一份副本,因为它具有一定的教育价值理论。So please kindly access it here。
我猜这个答案对你有帮助!:) (Y)
发布于 2016-03-31 16:08:22
请使用苹果研究工具包 (http://www.apple.com/in/researchkit/)
查看更多详细信息:
https://github.com/researchkit/researchkit
ViewController.h
#import <UIKit/UIKit.h>
#import <ResearchKit.h>
@interface ViewController : UIViewController<ORKTaskViewControllerDelegate> // Delegate
@property (strong, nonatomic) IBOutlet UIImageView *signImageview;
@property (nonatomic, strong, readonly) ORKConsentDocument *consentDocument;
@property (nonatomic, strong, readonly) ORKConsentSignature *signature;ViewController.m
- (void)viewDidLoad {
[super viewDidLoad];
// Do any additional setup after loading the view, typically from a nib.
_consentDocument = [[ORKConsentDocument alloc] init];
_signature = [[ORKConsentSignature alloc] init];
ORKConsentReviewStep *signatureStep = [[ORKConsentReviewStep alloc] initWithIdentifier:@"sign" signature:_signature inDocument:_consentDocument];
ORKOrderedTask *task =
[[ORKOrderedTask alloc] initWithIdentifier:@"task" steps:@[signatureStep]];
ORKTaskViewController *taskViewController = [[ORKTaskViewController alloc] initWithTask:task taskRunUUID:nil];
taskViewController.delegate = self;
[self presentViewController:taskViewController animated:YES completion:nil];
}
#pragma mark - ORKTaskViewController delegate method
- (void)taskViewController:(ORKTaskViewController *)taskViewController
didFinishWithReason:(ORKTaskViewControllerFinishReason)reason
error:(NSError *)error {
ORKConsentDocument *documentCopy = [_consentDocument copy];
ORKConsentSignatureResult *signatureResult =
(ORKConsentSignatureResult *)[[[taskViewController result] stepResultForStepIdentifier:@"sign"] firstResult];
[signatureResult applyToDocument:documentCopy];
self.signImageview.image = signatureResult.signature.signatureImage;
// Then, dismiss the task view controller.
[self dismissViewControllerAnimated:YES completion:nil];
}https://stackoverflow.com/questions/21241881
复制相似问题