Apple ZoomingPDFViewer 直到第一次缩放后才允许拖动

Posted

技术标签:

【中文标题】Apple ZoomingPDFViewer 直到第一次缩放后才允许拖动【英文标题】:Apple ZoomingPDFViewer won't allow dragging until after first zoom 【发布时间】:2011-02-23 22:51:52 【问题描述】:

我正在使用此示例代码在我的 iPhone 应用中查看 PDF:

http://developer.apple.com/library/ios/#samplecode/ZoomingPDFViewer/Introduction/Intro.html#//apple_ref/doc/uid/DTS40010281-Intro-DontLinkElementID_2

但是,问题是我最初似乎无法让它被拖动。我最初可以捏和缩放,在我缩放一次之后,我可以很好地拖动视图。视图首次加载时我无法拖动。

有什么想法吗?

【问题讨论】:

【参考方案1】:

我想我已经找到了一个解决方案,但为什么这不起作用是我无法理解的。如果您设置了 zoomScale 属性,它似乎会触发允许进行拖动和滚动所需的任何操作,即使您将该属性设置为 1,也不会执行任何操作。

我只是在 UIScrollView 的 initWithFrame: 方法中这样做了:

...
self.zoomScale = 1;
...

如果其他人知道任何更好或更正确的方法来做到这一点,或者对为什么会发生这种情况有解释,我想知道。

【讨论】:

【参考方案2】:

在 PDFScrollView 的 initFrame 中将 uiscrollview 的 zoomScale 设置为 1(正如您上面建议的那样)不会使视图在加载时可滚动?您是否还进行了任何其他更改?

如果您能够弄清楚为什么会发生这种情况,请也告诉我...

【讨论】:

已经有一段时间了,所以我不确定是否有任何额外的变化,但我不这么认为。如果有帮助,将 zoomScale 属性设置为 1 是我在 initWithFrame 方法中所做的最后一件事。【参考方案3】:

这是因为 pdf 是一个“功能”。一旦您超过 1.0 的缩放比例,则页面将始终位于屏幕的中心,您将无法拖动它。因此,当您缩小超过 1.0f 值时(在初始放大之后),它将不再允许您四处移动。

认为layoutSubviews 方法是做什么的——虽然我不确定。它是至少保持内容居中的方法。

【讨论】:

【参考方案4】:

在这个问题上卡了差不多一整天。在最右边的窗口中,点击最左边的按钮,如so

然后取消选中“使用自动布局”

【讨论】:

以上是关于Apple ZoomingPDFViewer 直到第一次缩放后才允许拖动的主要内容,如果未能解决你的问题,请参考以下文章

来自 CGContextDrawPDFPage <Error>: KSTFBB+Helvetica: FT_Load_Glyph failed: 错误 133 的 Apple 的“Zoom

iOS 无法选择/突出显示 PDF 中的文本

杭电OJ_hdu3290_The magic apple tree

applewatch紧握无反应

防止 Apple Watch 关闭屏幕

Apple Developer Portal 的身份验证失败!世博会构建时Apple服务错误-1018:ios