【问题标题】:TwebBrowser Zoom/Gesture is not working for firemonkey/iOs in XE4 when open a pdf file打开 pdf 文件时,TwebBrowser Zoom/Gesture 不适用于 XE4 中的 firemonkey/iOs
【发布时间】:2013-04-28 14:47:05
【问题描述】:

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

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

B.没有“缩放”功能

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

如何

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

对于#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 上运行,这两个控件有点重叠)

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

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

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

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

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

【问题讨论】:

    标签: ios delphi firemonkey twebbrowser delphi-xe4


    【解决方案1】:

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

    【讨论】:

      【解决方案2】:

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

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 2014-05-15
        • 1970-01-01
        • 2019-05-05
        • 2020-12-15
        • 1970-01-01
        • 1970-01-01
        • 2017-07-15
        • 1970-01-01
        相关资源
        最近更新 更多