【发布时间】:2011-08-12 13:58:27
【问题描述】:
我有一个带有内容视图的 UIScrollView,用户可以放大/缩小。最小缩放级别小于 1,最大缩放级别大于 1。
用户可以轻松地完全放大或完全缩小。我该怎么做才能让 UIScrollView 也捕捉到缩放级别 1?不仅在用户抬起手指时,而且在他们放大/缩小时也是如此。
【问题讨论】:
标签: iphone ios uiscrollview zooming
我有一个带有内容视图的 UIScrollView,用户可以放大/缩小。最小缩放级别小于 1,最大缩放级别大于 1。
用户可以轻松地完全放大或完全缩小。我该怎么做才能让 UIScrollView 也捕捉到缩放级别 1?不仅在用户抬起手指时,而且在他们放大/缩小时也是如此。
【问题讨论】:
标签: iphone ios uiscrollview zooming
编写一个方法,每次用户停止缩放时都会调用该方法,然后检查当前缩放比例是否非常接近 1.0(例如介于 0.8 和 1.2 之间的某个值)。如果返回 true,则缩放比例精确设置为 1.0 以进行捕捉。
【讨论】:
- (void)scrollViewDidEndZooming:(UIScrollView *)scrollView withView:(UIView *)view atScale:(float)scale if (scrollView.zoomScale > 0.9f && scrollView.zoomScale < 1.1f) { [scrollView zoomToRect:scrollView.frame animated:YES]; } } 完美运行。
诀窍是覆盖或禁用捏并添加您自己的。开始捏合手势时,在捏合完成之前不要更新显示和调整图像大小,然后发出 zoomToRect。
【讨论】: