11
11
#import < React/RCTUtils.h>
12
12
#import " NativeCatalog-Swift.h"
13
13
14
- @interface CustomPdfView ()<PSPDFSignatureViewControllerDelegate >
14
+ @interface CustomPdfView ()<PSPDFSignatureCreationViewControllerDelegate >
15
15
@property (nonatomic , nullable ) UIViewController *topController;
16
16
@end
17
17
@@ -85,19 +85,26 @@ - (UIViewController *)pspdf_parentViewController {
85
85
}
86
86
87
87
- (BOOL )startSigning {
88
- // Programmatically show the signature view controller
89
- PSPDFSignatureViewController *signatureController = [[PSPDFSignatureViewController alloc ] init ];
90
- signatureController.naturalDrawingEnabled = YES ;
91
- signatureController.delegate = self;
92
- PSPDFNavigationController *signatureContainer = [[PSPDFNavigationController alloc ] initWithRootViewController: signatureController];
93
- [_pdfController presentViewController: signatureContainer animated: YES completion: NULL ];
88
+ // Programmatically show the signature creation view controller
89
+ if (@available (iOS 13.0 , *)) {
90
+ PSPDFSignatureCreationViewController *signatureController = [[PSPDFSignatureCreationViewController alloc ] init ];
91
+ signatureController.configuration = [PSPDFSignatureCreationConfiguration configurationWithBuilder: ^(PSPDFSignatureCreationConfigurationBuilder * _Nonnull builder) {
92
+ builder.availableModes = @[@(PSPDFSignatureCreationModeDraw)];
93
+ }];
94
+ signatureController.delegate = self;
95
+ [_pdfController presentViewController: signatureController animated: YES completion: NULL ];
96
+ } else {
97
+ UIAlertController *alert = [UIAlertController alertControllerWithTitle: @" This example is not available on iOS 12" message: @" This example requires iOS 13 and later." preferredStyle: UIAlertControllerStyleAlert];
98
+ [alert addAction: [UIAlertAction actionWithTitle: @" Dismiss" style: UIAlertActionStyleDefault handler: NULL ]];
99
+ [_pdfController presentViewController: alert animated: YES completion: NULL ];
100
+ }
94
101
95
102
return YES ;
96
103
}
97
104
98
105
#pragma mark - PSPDFSignatureViewControllerDelegate
99
106
100
- - (void )signatureViewControllerDidFinish : (PSPDFSignatureViewController * )signatureController withSigner : (nullable PSPDFSigner *) signer shouldSaveSignature : ( BOOL ) shouldSaveSignature {
107
+ - (void )signatureCreationViewControllerDidFinish : (PSPDFSignatureCreationViewController * _Nonnull )signatureController API_AVAILABLE(ios( 13.0 )) {
101
108
[signatureController dismissViewControllerAnimated: YES completion: ^{
102
109
NSURL *samplesURL = [NSBundle .mainBundle.resourceURL URLByAppendingPathComponent: @" PDFs" ];
103
110
NSURL *p12URL = [samplesURL URLByAppendingPathComponent: @" JohnAppleseed.p12" ];
@@ -143,7 +150,7 @@ - (void)signatureViewControllerDidFinish:(PSPDFSignatureViewController *)signatu
143
150
// Set the bounding box to fit in the signature form element.
144
151
annotation.boundingBox = CGRectMake (signatureFormElement.boundingBox .origin .x + 70 , signatureFormElement.boundingBox .origin .y - 25 , 50 , 50 );
145
152
annotation.color = signatureController.drawView .strokeColor ;
146
- annotation.naturalDrawingEnabled = signatureController.naturalDrawingEnabled ;
153
+ annotation.naturalDrawingEnabled = signatureController.drawView . naturalDrawingEnabled ;
147
154
annotation.pageIndex = 0 ;
148
155
149
156
// Add the ink annotation.
@@ -163,7 +170,7 @@ - (void)signatureViewControllerDidFinish:(PSPDFSignatureViewController *)signatu
163
170
}];
164
171
}
165
172
166
- - (void )signatureViewControllerDidCancel : (PSPDFSignatureViewController * )signatureController {
173
+ - (void )signatureCreationViewControllerDidCancel : (PSPDFSignatureCreationViewController * _Nonnull )signatureController API_AVAILABLE(ios( 13.0 )) {
167
174
[signatureController dismissViewControllerAnimated: YES completion: NULL ];
168
175
}
169
176
0 commit comments