gpt4 book ai didi

ios - 如何在 iOS 的第二个 ScrollView 中显示第一个 ScrollView 图像?

转载 作者:行者123 更新时间:2023-11-28 21:54:58 26 4
gpt4 key购买 nike

我是 iOS 开发的新手,我制作了一个包含两个 Scrollview 的应用程序,一个是大尺寸,第二个是小尺寸,显示在我的图像中,两者都包含相同的图像,但第一个是大尺寸,第二个是小尺寸尺寸。在这里我想像当我从我的第二个 ScrollView 中选择任何图像时意味着小 ScrollView 然后该图像直接显示在大 ScrollView 中就像 iOS 中的 ViewPager 或 SegmentedControll 如何可能如果可能那么请在这里给我解决方案Scrollview 的图像是。

enter image description here

在这里我想要当我选择 From Bottom Scrollview 然后我想在 Upper Scrollview 中显示该图像并且这里两个 Scrollview 都包含图像数组并且两者都是相同的。

这里是在scrollview中设置imageview的代码

for(int index=0; index < [self.imagesa count]; index++)
{
NSDictionary *dict=[self.imagesa objectAtIndex:index];
NSString *image=[dict valueForKey:@"link"];
bigImage=[[UIImageView alloc]init];
bigImage.userInteractionEnabled=TRUE;
bigImage.bounds=CGRectMake(0, 0, self.zoomScroll.frame.size.width, self.zoomScroll.frame.size.height);
bigImage.frame=CGRectMake(index * self.zoomScroll.frame.size.width, 0, self.zoomScroll.frame.size.width, self.zoomScroll.frame.size.height);
[bigImage setMultipleTouchEnabled:YES];
[bigImage setTag:1];
[bigImage sd_setImageWithURL:[NSURL URLWithString:image] placeholderImage:[UIImage imageNamed:@"1.png"]];
[bigImage setUserInteractionEnabled:TRUE];
[self.objectarray insertObject:bigImage atIndex:index];
CGSize scrollViewSize=CGSizeMake(self.zoomScroll.frame.size.width*[self.objectarray count], self.zoomScroll.frame.size.height);
[self.zoomScroll setContentSize:scrollViewSize];
[self.zoomScroll addSubview:bigImage];
self.zoomScroll.clipsToBounds=YES;
[self.zoomScroll addSubview:[self.objectarray objectAtIndex:index]];
}

这里 bigimage 是 imageview,zoomScroll 是 Scrollview,第二个代码表示 Small Scrollview 相同,只是 imageview 和 scrollview 的大小不同。

这里选择小图片代码,如

- (void)touchesBegan:(NSSet *)touches withEvent:(UIEvent *)event
{
UITouch * touch = [[event allTouches] anyObject];
for(int index=0;index<[self.imageArray count];index++)
{
UIImageView *imgView = [self.imageArray objectAtIndex:index];
NSLog(@"x=%f,y=%f,width =%f,height=%f",imgView.frame.origin.x,imgView.frame.origin.y,imgView.frame.size.width,imgView.frame.size.height);
NSLog(@"x= %f,y=%f",[touch locationInView:self.view].x,[touch locationInView:self.view].y) ;
if(CGRectContainsPoint([imgView frame], [touch locationInView:self.scrollView]))
{
[self ShowDetailView:imgView];
break;
}
}
}

和ShowDetailView方法代码是

-(void)ShowDetailView:(UIImageView *)imgView
{
bigImage.image = imgView.image;
[self.zoomScroll addSubview:bigImage];
}

而且这个方法也在我的不同类文件中,在这里我导入了那个类。

- (void)touchesBegan:(NSSet *)touches withEvent:(UIEvent *)event
{
[self.nextResponder touchesBegan:touches withEvent:event];
}

最佳答案

在您的小 ScrollView 图像中确定。为所有图像设置标签。

 smallimage.tag = index;

在这个方法中

 -(void)ShowDetailView:(UIImageView *)imgView
{
[self.zoomScroll setContentOffset:CGPointMake(imgView.tag * self.zoomScroll.frame.size.width, 0) animated:YES];
}

关于ios - 如何在 iOS 的第二个 ScrollView 中显示第一个 ScrollView 图像?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26880502/

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