PDFAnnotationText
在 macOS sierra 10.12.1 Beta (16B2548a) 上未显示弹出窗口。PDFAnnotationText
在 10.12 上已弃用,但新 API 不绘制注释。
旧 API:
// display the PDF document
[m_pdfView setDocument: [self pdfDocument]];
- (PDFDocument *)pdfDocument {
// create a page
PDFDocument *document = [[PDFDocument alloc] initWithURL:[NSURL fileURLWithPath:@"/Users/test/Downloads/Eticket.pdf"]];
PDFAnnotationText* result = [[PDFAnnotationText alloc] initWithBounds:NSMakeRect(100, 100, 40, 40)];
result.color = [NSColor redColor];
result.contents = @"Hello";
result.iconType = kPDFTextAnnotationIconNote;
// add it to the PDF document
[[document pageAtIndex:0] addAnnotation:result];
return document;
}
10.12 新 API:
- (PDFDocument *)pdfDocument {
// create a page
PDFDocument *document = [[PDFDocument alloc] initWithURL:[NSURL fileURLWithPath:@"/Users/test/Downloads/Eticket.pdf"]];
NSMutableDictionary *popupDictionary = [[NSMutableDictionary alloc] init];
[popupDictionary setObject:@"/Popup" forKey:kPDFAnnotationKey_Subtype];
[popupDictionary setObject:[NSColor redColor] forKey:kPDFAnnotationKey_Color];
[popupDictionary setObject:@"Hello" forKey:kPDFAnnotationKey_Contents];
NSValue *rectValue = [NSValue valueWithRect:NSMakeRect(100, 100, 40, 40)];
[popupDictionary setObject:rectValue forKey:kPDFAnnotationKey_Rect];
PDFAnnotation *textAnnotation = [[PDFAnnotation alloc] initWithDictionary: popupDictionary forPage: [document pageAtIndex:0]];
[[document pageAtIndex:0] addAnnotation:textAnnotation]; // add it to the PDF document
return document;
}
我正在使用 Xcode 版本 8.0 (8A218a)。谁能帮帮我?