ランドスケープモードのiPadで2ページの展示用に、すっきりとしたページめくりのアニメーションとズーム機能を備えたPDFリーダーを実装しようとしています。
内部にを作成することUIScrollView
で、これを部分的に行うことができました。UIPageViewController
ユーザーはページを自然にめくり、ピンチを使用してズームすることができました。しかし、その後2つの問題が発生し、 StackOverFlow、Appleのドキュメント、およびその他の多くの場所を調べて多大な労力を費やしたにもかかわらず、必要なものを見つけることができませんでした。
PageViewController
1.ズーム中に正しい解像度でPDFを再描画できませんでした。
デバッグ中に、PDFの描画に使用したカスタムdrawRect
関数が、ズームせずに常に受け取っていたのと同じデフォルトサイズを受け取っていることがわかりました。ページのframe
サイズがiPadの画面全体よりもはるかに大きくなったにもかかわらず、このsetNeedsDisplay
関数はPDFをわずか500x700pxで再描画する要求を送信し続けましたrect
。そのため、画像は常にぼやけていました。
frame
内のページを手動で変更しようとするPageViewController
と、非常に奇妙な動作が発生し、PageViewControllerで再度前後に移動した場合にのみページが正しくレンダリングされました。言い換えれば、それは機能しませんでした。
2.ズームを適用したときにページめくりを無視できませんでした。
理想はPageViewController
、ズーム中にナビゲートできなかったことです。ユーザーが1:1ズームに戻ると、他のPageViewControllerと同じように動作します。これらの特定の状況でのみ、PVCからジェスチャを「盗む」方法はありますか?
私はこれについて助けを求めていますが、実際には考えています:私はこの問題を間違った場所から見ていますか?これらの機能を実装するためのより良い方法はありますか?
助けてくれてありがとう。