使用 UIScrollView,在缩小时,如何将内容视图保持在中心?
Posted
技术标签:
【中文标题】使用 UIScrollView,在缩小时,如何将内容视图保持在中心?【英文标题】:Using UIScrollView, when Zooming Out, how can I keep the content view at the center? 【发布时间】:2012-03-01 03:20:25 【问题描述】:最小刻度为 0.5
最大比例为 2.0
我需要为UIScrollView
使用更大的contentSize
才能拖动内容。所以,随着内容的CGRect
在变化,UIScrollView
的contentSize
也在变化。
但是,当我缩小时,如果比例低于 1.0,contentOffset
会突然更改为 0.0, 0.0,因此很难调整内容的大小,同时保持其在覆盖视图的位置(例如衣服图片)。
换句话说,我无法在将内容视图保持在UIScrollView
的中心的同时缩小内容视图。
请帮助我找到使用UIScrollView
放大/缩小的正确方法,同时保持内容视图的位置。
【问题讨论】:
【参考方案1】:这在帖子中得到了很好的回答: 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
对我来说,悬而未决的问题是,这不能作为约束的一部分来完成。
【讨论】:
【参考方案2】:解决方案基本上是在初始设置时使用contentInset
将内容保持在中心,而不是contentOffset
。在contentInset
未修改的情况下,放大或缩小的对象可以一直位于中心。
【讨论】:
以上是关于使用 UIScrollView,在缩小时,如何将内容视图保持在中心?的主要内容,如果未能解决你的问题,请参考以下文章