【发布时间】:2011-10-26 08:11:56
【问题描述】:
我有一个包含多个部分的图像。我将尝试用下图来解释:
--|----------|---------|---
| 1 | 2 |
| | |
--|----------|---------|---
| 3 | 4 |
| | |
--|----------|---------|---
在上图中,1、2、3 和 4 是大图的部分。我在 UIScrollView 中使用 UIImageView。我一次向用户展示一个部分。所以看起来这些部分是单独的图像。如果我显示第 3 部分,我将隐藏图像的所有部分,但第 3 部分并更改图像坐标,使第 3 部分出现在屏幕中间。到目前为止,一切正常。现在我需要对这些部分进行缩放。缩放一个部分后,用户将只能在该部分内滚动,而不能在缩放后的部分之外滚动。我无法像设置 uiscrollview 的 contentoffset 和 contentsize 属性那样实现,它会将图像从屏幕中取出。
谁能建议我如何实现这个?
下面是我用来定位滚动视图的代码。
- (void)scrollViewDidZoom:(UIScrollView *)scrollView
{
float updatedCurrFrameX = originalFrame.origin.x*[scroll zoomScale];
float updatedCurrFrameY = originalFrame.origin.y*[scroll zoomScale];
float updatedCurrFrameWidth = originalFrame.size.width*[scroll zoomScale];
float updatedCurrFrameHeight = originalFrame.size.height*[scroll zoomScale];
CGRect visibleRect=CGRectMake(updatedCurrFrameX, updatedCurrFrameY, updatedCurrFrameWidth, updatedCurrFrameHeight);
scroll.contentSize= visibleRect.size;
scroll.contentOffset=visibleRect.origin;
}
【问题讨论】:
标签: iphone uiscrollview zooming