-4
我是iphone的新手我正在使用scrollview自动滚动图像的项目也与我一起,我必须做放大和缩小image.Is这可能吗?如果是的话可以怎么做。请给我推荐一些代码。在iphone中缩放图像的自动滚动
谢谢。
我是iphone的新手我正在使用scrollview自动滚动图像的项目也与我一起,我必须做放大和缩小image.Is这可能吗?如果是的话可以怎么做。请给我推荐一些代码。在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;
}
viewWillAppear中
接下来,你需要制定出最低缩放比例滚动视图。缩放比例为1表示内容以正常尺寸显示在 。小于1的缩放比例显示缩小的内容, ,而大于1的缩放比例显示放大的内容。
您将最大缩放比例设置为1,因为放大的图像分辨率可能超过图像的分辨率会导致它看起来模糊。您将 设置为最小的初始缩放比例,以便图像开始 完全缩小。