2016-12-13 15 views
1

私のアプリでは、いくつかの情報を表示するための単一のPDFビューを持つウィンドウを使用しています。PDFが正しく表示されない

enter image description here

しかし、PDFの内部、もう一度それを示す際にシフトしている:ウィンドウが最初に表示された場合の表示は結構です

enter image description here

ウィンドウを開くためのコードは以下です:

- (IBAction)viewClicked:(id)sender { 
    NSData* data = [NSData dataWithContentsOfFile:@"my.pdf"]; 
    pdf = [[PDFDocument alloc] initWithData:data]; 
    [_pdfWindow makeKeyAndOrderFront:self]; 
    _pdfView.document = pdf; 
} 

これは、アプリケーションの起動直後に呼び出されます。ウィンドウは赤いクローズボタンで閉じられます。その直後に上記のviewClickedが繰り返され、シフトされた画像が表示されます。

同じスイフトに起こる:

@IBAction func viewClicked(_ sender: Any) { 
    let data = NSData(contentsOfFile:"my.pdf") 
    pdf = PDFDocument(data:data as! Data) 
    pdfWindow.makeKeyAndOrderFront(self) 
    pdfView.document = pdf 
} 

編集ワンさらに観察:間違った表示結果から発行されたときに、この中で、直接PDFViewに伝播され、カーソル右、:

enter image description here

これはPDFの2ページ目のみです。

編集2興味があれば、ObjC/Swift XCodeプロジェクトを添付します。 AppDelegateでPDFファイルの場所を調整するだけで済みます。 Dropbox

+0

PDFKit in 10.12はバグです。関係のないヒント: '[[PDFDocument alloc] initWithURL:myURL]'を使用してください。 – Willeke

+0

@Willeke差異を作らなかった:-( –

+0

Appleが10.12でPDFKitを本当に台無しにしました。リリースされたばかりの10.12.2アップデートを試してみてください。少なくともPDFViewの問題を修正するようです。 – danielv

答えて

1

ええと、PDFViewはそれほど迷惑です。

これをリセットして問題を解決します。新しいドキュメントを割り当てる前に、PDFViewのドキュメントをnilに設定します。

また、ウィンドウのビューでneedsDisplayを設定する必要はありません。

+0

うわー! needsDisplayは、私が試したストローの一つでした:-)おかげで一束!それはあなたに恩恵を与える(可能な場合21時間以内) –

+0

PDFKitは*本当にバグです。ちょうど「何か」で終わるが始まりではないページング(終わりから左へ)の別の問題を発見した。落ちる、アップル。 –

+0

4ページ以上の複数ページのPDFがあります。右/左は1と2の代わりに2ページ目のみを表示します。私のバグレポートを扱う際にアップルがこのコメントを読んでいた場合は、あなたがしなければならないと思っていることをしてください。私は回避策を講じます:P –

関連する問題