gpt4 book ai didi

ios - 如何在单个 UIView 中启用两个不同 UIScrollview 的缩放?

转载 作者:行者123 更新时间:2023-12-01 18:18:48 25 4
gpt4 key购买 nike

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

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

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

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

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

最佳答案

这是当单个页面有两个 ScrollView 时启用缩放的代码。

//Create First ImageView


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

//Create and Set Values for 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];

Second Scrollview and ImageView

// Create Second ImageView


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

// Create Second 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];

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

委托(delegate)方法如下:
- (UIView *)viewForZoomingInScrollView:(UIScrollView *)scrollView{
if (scrollView.tag ==0) {
return image1;
}
else return image2;
}

关于ios - 如何在单个 UIView 中启用两个不同 UIScrollview 的缩放?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18888398/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com