3

iOS アプリケーション内で PDF を表示したいのですが、これまでのところ、唯一の方法は TwebBrowser で開くことです。

A.デフォルトで「ページ幅に合わせる」ズームで表示しています

B.「ズーム」機能がない

WebBrowser1.Navigate(file://mypdf.pdf')

方法

  1. ファイルを開いた後にズームを変更したい (私の解決策の遭遇 q#2)
  2. ズームを機能させます (私の解決策は q#3 に遭遇しました)
  3. ジェスチャを Web ページと同じように機能させる

#1の場合:

実行時に WebBrowser1.height/width を変更すると、「Fit to width」として自動スケーリング (ズーム?) されます。

はい、動作します。垂直スクロール バーは問題なく動作します - 端で跳ね返ることはありません -> 一番下までスクロールできます..

横スクロールもせず、全く反応せず……。

*これは、pdf が A4 であるためです。ランドスケープ スタイルの場合はどうなるかわかりません

#2の場合:

ボタンをクリックしてズームするだけでなく、gestureManager を追加します。

次に、「iOS Interactive Gestures - Image Zoom」の例と同じように Form1.ongesture を追加します。

はい、動作しますが、同じことです - 垂直バウンスも水平スクロールもありません。

*ScrollBox は動作しません。垂直/水平スクロール バーが組み込まれているものでは動作しません。

#3の場合:さらに進んで、上/下/左/右のコントロールを記述します

WebBrowser1.Position.X/Y と WebBrowser1.height/width を「スクロール」のように変更します

はい、動作します...しかし、2 つのカスタム ジェスチャ コントロールにより、制御が非常に難しくなっています

(EventInfo.Distance と EventInfo.X/Y、iPhone で実行する場合、これら 2 つのコントロールは互いに重なっています)

最悪の部分は、親/子構造に関係なく、WebBrowser1 が任意の補償の上にあることです。2番目に悪い部分は、マージンの制限をコーディングするのが難しいことです.どういうわけか、常に制限を超えてスクロールできます.....

開いた後/オンにズームを変更すると「感じ」、垂直/水平スクロールバーの両方が表示された状態で開きます。次に、水平バーが機能するはずです->ズームを処理するだけで済みます->完全に近いです。

もちろん、最善の方法は、WebBrowser1.Navigate(' http://www.embarcadero.com/ ') のように Web ページのように機能させることです -> 両方のスクロールバーが機能し、ズームが機能します。しかし...これにはおそらくサービスパックNが必要ですか?

アイデアやコードの回答に感謝します。

このいまいましい猿は燃えていて、そこから答えを見つけるのはいつも難しい.

4

2 に答える 2