我是iphone的新手i我正在开展项目,我正在使用scrollview自动滚动图像以及它我必须放大和缩小图像。这可能吗?如果是的话怎么办。请给我一些代码。
感谢。
答案 0 :(得分:1)
- (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,因为放大超过图像分辨率可以支持将使其看起来模糊。您 将初始缩放比例设置为最小,以便图像开始 完全缩小。