ScrollView setZoomScale问题

时间:2010-08-23 14:51:35

标签: iphone uiscrollview

设定:

Tab Bar App

First View是一个ScrollView,它有一个ImageView作为子视图,从文件中加载。

以上所有配置都在IB。

应用程序正确启动,我可以滚动图像,一切都与世界一致。

我可以通过捏合控制进行缩放,也没有任何问题。

现在我尝试在用户双击时将setZoomScale用于1.0 ...而且确实将ZoomScale设置为1.0 ..

然而问题是,当它执行时将视图移动到位置0,0 ...完全忽略contentOffset值...即使我在setZoomScale之后的下一次调用是调用将contentOffset设置为soemthing否则,没有任何反应......

所以,我有点困惑..我不知道为什么setZoomScale将视图重新聚焦到0,0更糟糕的是,我不明白为什么视图不会移动到下一行的contentOffset代码说它应该将它重置为0,0。

有任何想法或建议吗?我知道我可以使用zoomToRect,但我真的很想知道这里发生了什么。

1 个答案:

答案 0 :(得分:1)

Zoom To Rect做同样的事情......这令人难以置信地令人沮丧......在UIScrollView中对zoomScale进行的任何编程更改都只需要它来协调0,0 ...

在Zoom To Rect中,传入的矩形正是我想要的,但它只是缩放并转到坐标0,0 ..有没有人有任何想法?这对我来说毫无意义。

更新:

好的,我已经找到了罪魁祸首,但不是解决方案...... zoomToScale正在触发subView的contentMode,在这种情况下我设置为TOP LEFT ...所以每个zoomToScale调用或setZoomScale等..触发图像在屏幕上重新绘制0,0。

现在,用户交互捏合,缩放和滚动不会触发此操作。

现在我只需找出一种方法来解决它..当我要求scrollview进行缩放时,我不希望视图触发UIViewContentMode设置,但我不知道如何暂停它..更改设置重绘与空白屏幕,其他值也不合适,因为我不希望图像移动..我只是想放大。

有什么想法吗?