ios - 打开 pdf 文件时,TwebBrowser 缩放/手势不适用于 XE4 中的 firemonkey/iO

标签 ios delphi firemonkey twebbrowser delphi-xe4

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

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

B.没有“缩放”功能

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

如何

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

对于#1:

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

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

水平滚动都没有,一点 react 都没有....

*这是因为pdf是A4,不知道横版会怎样

对于#2:

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

然后像“iOS Interactive Gestures - Image Zoom”示例一样添加 Form1.ongesture。

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

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

#3 : 我更进一步,编写上/下/左/右控件

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

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

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

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

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

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

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

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

最佳答案

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

关于ios - 打开 pdf 文件时,TwebBrowser 缩放/手势不适用于 XE4 中的 firemonkey/iO,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16371768/

相关文章:

c# - 如何在 iOS 上打开下载的文件

ios - UIButton 自动布局大小设置

C++ 类引用

delphi - firemonkey 移动网格与实时绑定(bind) - 在运行时更改 TextCell 文本颜色 XE5

iOS通知内容扩展: add buttons in storyboard and handle the click action

iphone - 每个单元格中有多个项目的 UITableView

delphi - 在 delphi 中使用 Neo4j

delphi - 有什么方法可以改变Delphi2007 IDE中Code Insight红色 'underline'的颜色吗?

ios - Delphi XE4 ios 播放视频不工作......只有声音

delphi - 带 Canvas 的Delphi视觉组件