打开pdf文件时,TwebBrowser Zoom / Gesture不适用于XE4中的firemonkey / iOs

时间:2013-05-04 07:29:41

标签: ios delphi firemonkey twebbrowser delphi-xe4

我想在iOS应用程序中显示PDF,到目前为止我找到的唯一方法是在TwebBrowser中打开它。

A.它以“适合页面宽度”缩放显示为默认

B.没有“缩放”功能

WebBrowser1.Navigate时(文件://mypdf.pdf')

如何

  1. 我想在打开文件后更改缩放(我的解决方案遇到q#2)
  2. 使缩放工作(我的解决方案遇到q#3)
  3. 使手势像网页一样工作
  4. 对于#1:

    我在运行时查看WebBrowser1.height / width,它会自动缩放(缩放?)为“适合宽度”。

    是的,它是有效的,垂直滚动条有缺陷 - 它不会在边缘反弹 - >你可以一直向下滚动..

    水平卷轴都没有反应......

    *这是因为pdf是A4,不确定横向风格会发生什么

    对于#2:

    除了使用按钮点击进行缩放之外,我还添加了一个gestureManager。

    然后添加Form1.ongesture就像“iOS交互式手势 - 图像缩放”示例。

    是的它有效,但同样的事情 - 没有垂直反弹,没有水平滚动。

    * ScrollBox不起作用,它不适用任何有内置vert / hori滚动条的东西

    #3 : 我走得更远,写上/下/左/右控制

    更改WebBrowser1.Position.X / Y和WebBrowser1.height / width使其看起来像“滚动”

    是的它有效......但是两个自定义手势控制使得它很难控制

    (EventInfo.Distance和EventInfo.X / Y,如果你在iPhone上运行,这两个控件有点重叠)

    wosrt部分是,无论父/子结构如何,WebBrowser1都将位于任何补偿之上。 第二个最糟糕的部分是保证金的限制难以编码,不知何故它总是可以滚动超出限制.....

    如果在打开后打开变焦,我会“感觉”,并且可以看到两个vert / hori scrool条打开它。 然后水平条应该工作 - >我只需要处理缩放 - >非常接近完美。

    当然,最好的方法是让它像网页一样工作 WebBrowser1.Navigate('http://www.embarcadero.com/') - >两个滚动条工作,缩放工作。 但是......可能需要服务包N吗?

    我很感激任何想法或代码答案。

    这只该死的猴子着火了,总是很难找到答案。

2 个答案:

答案 0 :(得分:0)

今天在The Hacker's Corner发布了一篇名为Getting TWebBrowser on iOS to zoom的文章。它建议对FMX.WebBrowser.iOS.pas单元进行单行修复。这有帮助吗?

答案 1 :(得分:0)

这是一个错误,并在XE4更新中修复。