LargeImageDownSizing Apple示例代码 - 限制缩放级别

时间:2013-08-22 06:23:55

标签: iphone ios uiimageview uiimage

我正在使用Apple示例代码LargeImageDownSizing来查看我的大图片。此代码允许放大到无限级别并在某个级别缩小。

但有些我无法限制放大和缩小,它有一个滚动视图,其属性如下:

self.maximumZoomScale = 5.00;
self.minimumZoomScale = .25f;

当我尝试更改上述值时,它只是没有做任何事情,我仍然能够无限缩放它。任何人都可以帮助我,我需要限制放大和缩小级别。

谢谢:)

1 个答案:

答案 0 :(得分:0)

只是为了猜测,因为我在我的代码中也做了它并且它有效,我想建议 -

UIScrollView类可以有一个必须采用UIScrollViewDelegate协议的委托。

要使缩放和平移工作,委托必须同时实现viewForZoomingInScrollView:和scrollViewDidEndZooming:withView:atScale:maximum (maximumZoomScale)minimum ( minimumZoomScale)缩放比例必须不同。

或者

在iOS 5.1 SDK(以及之前的版本)中,可以向UIScrollView添加手势识别器,并且可以将其与内置于UIScrollView中的panGestureRecognizer和pinchGestureRecognizer结合使用。

在iOS 6.0 SDK下,显然不再支持此行为。相关文档(https://developer.apple.com/library/ios/navigation/)没有明确禁止行为,因为它确定了UIScrollView将对可能与平移和捏合相关的触摸所做的事情。

因为滚动视图没有滚动条,所以它必须知道触摸是否表示要滚动的意图与跟踪内容中的子视图的意图。为了做出这种确定,它通过启动计时器暂时拦截触碰事件,并且在计时器触发之前,查看触摸手指是否进行任何移动。如果计时器在没有显着位置变化的情况下触发,则滚动视图将跟踪事件发送到内容视图的触摸子视图。如果用户在计时器过去之前将手指拖得足够远,则滚动视图会取消子视图中的任何跟踪并执行滚动操作。子类可以覆盖touchesShouldBegin:withEvent:inContentView:,pagingEnabled和touchesShouldCancelInContentView:方法(由滚动视图调用),以影响滚动视图处理滚动手势的方式。

相关问题