PDF 未正确显示
PDF not shown correctly
在我的应用程序中,我使用带有单个 PDF 视图的 window 来显示一些信息。当 window 首先显示时,显示正常:
但是再次显示时,里面的 PDF 发生了偏移:
打开window的代码是这样的:
- (IBAction)viewClicked:(id)sender {
NSData* data = [NSData dataWithContentsOfFile:@"my.pdf"];
pdf = [[PDFDocument alloc] initWithData:data];
[_pdfWindow makeKeyAndOrderFront:self];
_pdfView.document = pdf;
}
这会在应用程序启动后立即调用。 window 使用红色关闭按钮关闭。紧接着上面的 viewClicked
被重复并显示移位的图片。
同样发生在Swift:
@IBAction func viewClicked(_ sender: Any) {
let data = NSData(contentsOfFile:"my.pdf")
pdf = PDFDocument(data:data as! Data)
pdfWindow.makeKeyAndOrderFront(self)
pdfView.document = pdf
}
Edit 进一步观察:光标右移,直接传播到 PDFView,当从错误显示结果发出时:
这只是 PDF 的第 2 页。
Edit2 如果有人感兴趣,我附上 ObjC/Swift XCode 项目。您只需要在 AppDelegate 中调整 PDF 文件位置。 Dropbox
是的,PDFView 很烦人。在分配新文档之前将 PDFView 的文档设置为 nil:
_pdfView.document = nil;
_pdfView.document = pdf;
这将重置它并解决您的问题。
此外,您不需要在 window 的视图上设置 needsDisplay。
在我的应用程序中,我使用带有单个 PDF 视图的 window 来显示一些信息。当 window 首先显示时,显示正常:
但是再次显示时,里面的 PDF 发生了偏移:
打开window的代码是这样的:
- (IBAction)viewClicked:(id)sender {
NSData* data = [NSData dataWithContentsOfFile:@"my.pdf"];
pdf = [[PDFDocument alloc] initWithData:data];
[_pdfWindow makeKeyAndOrderFront:self];
_pdfView.document = pdf;
}
这会在应用程序启动后立即调用。 window 使用红色关闭按钮关闭。紧接着上面的 viewClicked
被重复并显示移位的图片。
同样发生在Swift:
@IBAction func viewClicked(_ sender: Any) {
let data = NSData(contentsOfFile:"my.pdf")
pdf = PDFDocument(data:data as! Data)
pdfWindow.makeKeyAndOrderFront(self)
pdfView.document = pdf
}
Edit 进一步观察:光标右移,直接传播到 PDFView,当从错误显示结果发出时:
这只是 PDF 的第 2 页。
Edit2 如果有人感兴趣,我附上 ObjC/Swift XCode 项目。您只需要在 AppDelegate 中调整 PDF 文件位置。 Dropbox
是的,PDFView 很烦人。在分配新文档之前将 PDFView 的文档设置为 nil:
_pdfView.document = nil;
_pdfView.document = pdf;
这将重置它并解决您的问题。
此外,您不需要在 window 的视图上设置 needsDisplay。