2017-02-11 127 views

回答

2

我能够使用未公开的API修复此问题。其问题涉及隐藏/取消隐藏密码视图。

/* 
From class dump of pdf kit 
@interface PDFPasswordViewController : NSViewController 
{ 
NSTextField *_passwordField; 
NSTextField *_passwordPrompt; 
NSTextField *_passwordInstruction; 
NSView *_passwordView; 
PDFView *_pdfView; 
} 

- (void).cxx_destruct; 
- (void)_commonInit; 
- (void)passwordEntered:(id)arg1; 
- (void)setPDFView:(id)arg1; 
- (void)loadView; 

@end 
*/ 

/* 
@private 
PDFViewPrivate* _private; 
Available in PDFView.h file 
*/ 
id PDFViewPrivate = [self.pdfView valueForKey:@"_private"]; 
if (PDFViewPrivate) 
{ 
    NSViewController *passwordViewController = [PDFViewPrivate valueForKey:@"passwordViewController"]; 
    NSView *passwordView = [passwordViewController valueForKey:@"_passwordView"]; 
    if (self.pdfView.document.isLocked) 
    { 
     NSTextField *passwordField = [passwordViewController valueForKey:@"_passwordField"]; 
     // Reset last password 
     [passwordField setStringValue:@""]; 
     // Add password view 
     passwordView.hidden = NO; 
    } 
    else 
    { 
     passwordView.hidden = YES; 
    } 
} 

PDFPasswordViewController仅在10.12

+0

苹果错误ID为30479684可用 –