3

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

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

B.没有“缩放”功能

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

如何

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

对于#1:

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

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

水平滚动都没有,完全没有反应......

*这是因为 pdf 是 A4,不知道横向样式会发生什么

对于#2:

除了使用按钮单击来缩放之外,我还添加了一个手势管理器。

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

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

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

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

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

是的,它可以工作......但是两个自定义手势控制让它真的很难控制

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

最重要的是,WebBrowser1 将位于任何补偿之上,无论父/子结构。第二个最糟糕的部分是边距的限制很难编码,不知何故它总是可以滚动超过限制......

如果打开/打开后更改缩放,我会“感觉”,并使其打开时两个垂直/水平滚动条都可见。然后水平条应该可以工作->我只需要处理缩放->非常接近完美。

当然最好的方法是让它像网页一样工作,比如 WebBrowser1.Navigate(' http://www.embarcadero.com/ ') -> 两个滚动条都有效,缩放有效。但是...也许需要Service Pack N?

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

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

4

2 回答 2

0

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

于 2013-05-16T12:33:15.463 回答
0

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

于 2017-11-07T19:57:19.423 回答