問題タブ [apple-pdfkit]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票する
0 に答える
119 参照

swift - PDFView から選択できない

PDFドキュメントで選択したテキストを強調表示するためのこのコードをどこかで見ます:

私のため 、

選択してみましょう = pdfView.currentSelection?.selectionsByLine()

常にnilを与えています。このコードを配置する場所。Gesture Recogniser Delegate メソッドに入れました。

また、ページに複数の注釈を追加しているようです。ページ上の選択ごとに 1 つのハイライト アノテーションを取得しますか?

0 投票する
4 に答える
2347 参照

ios - iOS PDFKitはPDFViewでPDFフレームを調整します

高さの異なるページを含む PDF を、一度に 1 ページずつ、ページ間に隙間なく、各ページの上部をビューの上部に揃えて、水平方向にページ形式で表示したいと考えています。例えば:

望ましいレンダリング

PDFKit特にこれらの設定は次のPDFView方法で実現できるため、を使用したいと思います。

ただし、これにより次の結果が生成されます。

実際のレンダリング

これは、ページの高さが異なるためです。各ページは の垂直方向の中央に配置されPDFView、ページの高さがビューの高さよりも大きい場合 (ページ 2 など)、収まるように縦横比が調整されます。

最初の問題である垂直オフセットを解決するために、いくつかのことを試みました。まず、これは大雑把で、ビュー階層を調べてPDFTextInputView、ページがレンダリングされるプライベート ビュー ( という名前のクラスのビュー) を見つけた後、そのフレームorigin.y0最も外側のスクロールビュー (別のプライベート ビュー) がスクロールします。これは、次または前のページがビューにスクロールされるたびに、ページがビューの上部にレンダリングされるという点で機能します。ただし、ユーザーがそのページをピンチしてズームすると、そのフレームは自動的に中央に戻ります。このアプローチは、プライベート ビュー階層に依存することを除けば、うまくいきません。

「背の高いページの問題」(ページ 2) を解決するために、新しいページが表示されるたびに PDFView の倍率を調整してみました。悲しいことに、.PDFViewPageChanged通知はスクロール ビューの減速が終了したにのみ発生するため、スクロール イン時にページがズーム アウトされ、スケール ファクターを調整すると、画面の幅に合わせてジャンプします。次に.PDFViewVisiblePagesChanged、次/前のページが表示されると起動する に目を向けました (さらに数回、これで問題ありません)。これには と同じ問題があり.PDFViewPageChangedます。

私が試した他のこと:

  • transformドキュメント ビューの調整
  • ピンチ ジェスチャをインターセプトし、ドキュメント ビューの中心を調整する
  • 独自のページコントローラーを作成し、ページごとに 1 つの PDF ページをレンダリングします (を使用しないpdfView.usePageViewController)

私が求めているものをどのように達成できるかについて、誰かアイデアはありますか?