Apple Zooming PDF Viewer在第一次缩放之后才允许拖动

时间:2011-02-23 22:51:52

标签: iphone objective-c uiscrollview

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

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

然而,问题是我似乎无法让它最初被拖动。我最初可以捏合和缩放,在我缩放一次之后,我可以将视图拖得很好。我只是在视图第一次加载时无法拖动。

有什么想法吗?

4 个答案:

答案 0 :(得分:2)

我想我已经找到了解决方案,但为什么这不仅仅是工作超出了我。如果设置了zoomScale属性,它似乎会触发允许拖动和滚动所需的任何内容,即使您将属性设置为1,也不执行任何操作。

我刚刚在UIScrollView的initWithFrame:方法中执行了此操作:

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

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

答案 1 :(得分:0)

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

如果你能弄清楚为什么会这样,请告诉我......

答案 2 :(得分:0)

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

认为 layoutSubviews方法就是这样 - 虽然我不确定。这是至少使内容保持中心的方法。

答案 3 :(得分:0)

几乎整整一天都坚持这个问题。在最右边的窗口中,单击最左侧的按钮,如screenshot

然后取消选中“使用Autolayout”