使用UIImage放大滚动视图

时间:2012-08-22 13:11:14

标签: ios uiscrollview uiimageview uiimage zoom

我试图放大具有多个图像的滚动视图,滚动视图仅滚动垂直,我尝试实现许多方式,在许多示例中但没有任何工作。 下面是用于创建图像和滚动视图的代码:

- (void)viewDidLoad
{
    [super viewDidLoad];
    // Do any additional setup after loading the view from its nib.
    for (int i = 0; i < 6; i++)
    {
        UIImage *image = [UIImage imageNamed:[NSString stringWithFormat:@"amap1%i.png",i+1]];
        // create imageView
        _imageView = [[UIImageView alloc] initWithFrame:CGRectMake(0, _scrollView.frame.size.height*i, _scrollView.frame.size.width, _scrollView.frame.size.height)];
        // set scale to fill
        _imageView.contentMode = UIViewContentModeScaleToFill;
        // set image
        [_imageView setImage:image];
        // add to scrollView
        [self.scrollView addSubview:_imageView];
    }

    _scrollView.contentSize = CGSizeMake(_scrollView.frame.size.width, _scrollView.frame.size.height * 6);
    _scrollView.bounces = NO;
    _scrollView.pagingEnabled = YES;
}

2 个答案:

答案 0 :(得分:1)

看起来你需要为每个图像使用UIScrollView(放大)来执行UIScrollView(包含所有图像 - 水平滚动)。

有一个WWDC视频讨论了如何做到这一点(WWDC 2010 - Session 104; link to iTunes

答案 1 :(得分:0)

如果要在UIScrollView中实现缩放,则必须执行以下操作

  1. zoomEnabled设为YES
  2. 实现scrollView委托
  3. 请查看Apple documentation说明:

      

    要进行缩放和平移,委托必须同时实现viewForZoomingInScrollView:和scrollViewDidEndZooming:withView:atScale:;此外,最大(maximumZoomScale)和最小(minimumZoomScale)缩放比例必须不同。

相关问题