1

我在单个视图上显示两个图像,其中两个图像都必须具有缩放功能。我的页面高度约为 1000 像素,并且图像必须显示在页面的顶部和底部。为此,我添加了两个不同的滚动视图并在scroll views.

scroll view现在缩放对第二张图像正常工作。但第一张图像在缩小后显示在左上角。好像有两张图。

这是我正在使用的委托方法:

- (UIView *)viewForZoomingInScrollView:(UIScrollView *)scrollView{
    return [[scrollView subviews] objectAtIndex:0];
}

我有什么遗漏吗?scroll views或者当单页有两个时,这是否真的不可能启用缩放。

4

1 回答 1

4

这是当单个页面有两个滚动视图时启用缩放的代码。

//创建第一个ImageView

image1 =[[UIImageView alloc]initWithFrame:CGRectMake(0, 0, 320, 220)];
image1.image = [UIImage imageNamed:@"image1.png"];
image1.contentMode = UIViewContentModeScaleToFill;

//为 Scrollview 1 创建和设置值

scroll1 =[[UIScrollView alloc] initWithFrame:CGRectMake(0, 0, 320, 220)];
scroll1.contentSize = image1.frame.size;
[scroll1 setMinimumZoomScale:1.0];
[scroll1 setMaximumZoomScale:4.0];
scroll1.delegate = self;
scroll1.clipsToBounds = YES;
scroll1.tag =0;
[scroll1 addSubview:image1];
image1.userInteractionEnabled =YES;
scroll1.zoomScale = 1;
[self.view addSubview:scroll1];

第二个 Scrollview 和 ImageView

// 创建第二个 ImageView

image2 =[[UIImageView alloc]initWithFrame:CGRectMake(0, 0, 320, 260)];
image2.image = [UIImage imageNamed:@"image2.png"];
image2.contentMode = UIViewContentModeScaleToFill;

// 创建第二个 ScrollView

scroll2 =[[UIScrollView alloc] initWithFrame:CGRectMake(0, 220, 320, 260)];
scroll2.contentSize = image2.frame.size;
[scroll2 setMinimumZoomScale:1.0];
[scroll2 setMaximumZoomScale:4.0];
scroll2.delegate = self;
scroll2.clipsToBounds = YES;
scroll2.tag =1;
[scroll2 addSubview:image2];

image2.userInteractionEnabled =YES;
scroll2.zoomScale = 1;
[self.view addSubview:scroll2];

这将对您有所帮助,因为它已经为我工作了。

委托方法如下:

- (UIView *)viewForZoomingInScrollView:(UIScrollView *)scrollView{
    if (scrollView.tag ==0) {
        return image1;
    }
    else return image2;
}
于 2013-09-19T08:29:40.957 回答