我有一台UISCrollview。在这个滚动条里面我有一张图片,在图片上我有一些对象(作为图片的子视图),就像Photoshop合成中的图层。所以,如果我缩放图片,对象也会缩放。如果我滚动图片,对象也会滚动。
现在考虑一下:我把图片放大了。图片现在比iPad屏幕更大。我看到了图片的上半部分。我触摸图片上方的对象,并开始将其拖动到屏幕底部。我的意图是将拖动的对象放在图片的底部,但当图片放大时,我必须将元素拖到屏幕的底部,释放它,向上滚动图片,然后继续拖动对象。
我想要的是这样的:我开始拖动,当我到达屏幕边界时,滚动条开始自动滚动,显示图像的上下部分。
我需要的是知道可见的rect,一种scrollRectToVisible的逆...
考虑到图片可以在任何级别上缩放,我如何知道我正在拖动的元素是否靠近边界。顺便说一句,我如何知道滚动条的哪一部分正在显示,即使它是缩放的?
谢谢。
发布于 2011-05-17 04:50:42
在滚动视图的坐标空间中,可见矩形的大小为scrollView.bounds.size,原点为scrollView.contentOffset。根据具体执行的操作,可能需要使用convertRect:fromView:或convertRect:toView:将其转换为缩放视图的坐标空间。
https://stackoverflow.com/questions/6023099
复制相似问题