使用UIScrollView,在缩小时,如何将内容视图保留在中心?

时间:2012-02-08 16:37:43

标签: ios uiscrollview zoom alignment center

最小比例为0.5

最大比例为2.0

我需要始终对contentSize使用较大的UIScrollView才能拖动内容。因此,由于内容的CGRect正在发生变化,contentSize的{​​{1}}也在发生变化。

然而,当我缩小时,如果比例低于1.0,UIScrollView会突然变为{0.0,0.0},这使得很难调整内容的大小,同时保持其在叠加视图中的位置(例如衣服图片。)

换句话说,我不能让内容视图更小,同时保持它位于contentOffset的中心。

请在帮助我找到使用UIScrollView放大/缩小的正确方法,同时保持内容视图的位置。

2 个答案:

答案 0 :(得分:2)

解决方案基本上是在初始设置时使用contentInset将内容保留在中心,而不是contentOffset。如果contentInset未被修改,放大或缩小的对象可以始终位于中心。

答案 1 :(得分:0)

在帖子中回答得很好: UIScrollView with centered UIImageView, like Photos app

特别参考JosephH的答案,该答案本身是从2010年WWDC演讲中挑选出来的。

Matt Neuburg的书中也提到了这一点,使用了相同的WWDC参考: http://www.amazon.com/Programming-iOS-6-Matt-Neuburg/dp/1449365760/ref=sr_1_1?ie=UTF8&qid=1367363707&sr=8-1&keywords=programming+ios6

这里有来源(见第20章): https://github.com/mattneub/Programming-iOS-Book-Examples

对我来说,一个悬而未决的问题是,这不能作为约束的一部分来完成。