【发布时间】:2013-04-28 14:47:05
【问题描述】:
我想在 iOS 应用程序中显示 PDF,目前我发现的唯一方法是在 TwebBrowser 中打开它。
A.默认以“适合页面宽度”缩放显示
B.没有“缩放”功能
WebBrowser1.Navigate(file://mypdf.pdf')
如何
- 我想在打开文件后更改缩放(我的解决方案遇到q#2)
- 使缩放工作(我的解决方案遇到 q#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