我是 iphone 新手,我正在做一个项目,我正在使用滚动视图自动滚动图像,我还必须放大和缩小图像。这可能吗?如果是的话怎么做。请给我一些代码。
谢谢。
我是 iphone 新手,我正在做一个项目,我正在使用滚动视图自动滚动图像,我还必须放大和缩小图像。这可能吗?如果是的话怎么做。请给我一些代码。
谢谢。
- (void)viewDidLoad
{
[super viewDidLoad];
// 1
UIImage *image = [UIImage imageNamed:@"photo1.png"];
self.imageView = [[UIImageView alloc] initWithImage:image];
self.imageView.frame = (CGRect){.origin=CGPointMake(0.0f, 0.0f), .size=image.size};
[self.scrollView addSubview:self.imageView];
// 2
self.scrollView.contentSize = image.size;
}
viewDidLoad
首先,您需要使用添加到项目中的 photo1.png 图像创建一个图像视图,并设置图像视图框架(它的大小和位置),使其成为图像的大小并位于父级中的 0,0 点. 最后,图像视图被添加为滚动视图的子视图。
您必须告诉滚动视图其中包含的内容的大小,以便它知道可以水平和垂直滚动多远。在这种情况下,它是图像的大小。
- (void)viewWillAppear:(BOOL)animated {
[super viewWillAppear:animated];
// 1
CGRect scrollViewFrame = self.scrollView.frame;
CGFloat scaleWidth = scrollViewFrame.size.width / self.scrollView.contentSize.width;
CGFloat scaleHeight = scrollViewFrame.size.height / self.scrollView.contentSize.height;
CGFloat minScale = MIN(scaleWidth, scaleHeight);
self.scrollView.minimumZoomScale = minScale;
// 2
self.scrollView.maximumZoomScale = 1.0f;
self.scrollView.zoomScale = minScale;
}
视图将出现
接下来,您需要计算出滚动视图的最小缩放比例。缩放比例为 1 表示内容以正常大小显示。低于 1 的缩放比例显示缩小的内容,而大于 1 的缩放比例显示放大的内容。
您将最大缩放比例设置为 1,因为放大超过图像的分辨率可以支持会导致它看起来模糊。您将初始缩放比例设置为最小值,以便图像开始完全缩小。