我是iOS开发中的新手我制作了一个应用程序,包含两个Scrollview,一个是大尺寸,第二个是小尺寸,显示在我的图像中,两个都包含相同的图像但首先是大尺寸,第二个是小的尺寸。在这里我想像我选择任何图像一样从我的第二个Scrollview意味着小Scrollview然后该图像直接显示在Big ScrollView中像在iOS中的ViewPager或SegmentedControll如何可能,如果有可能那么请给我解决方案在这里我的Scrollview的图片是。
这里我想要的是当我选择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,Code for Second意味着小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];
}
此方法也在我的Differnt类文件中,在这里我导入了该类。
- (void)touchesBegan:(NSSet *)touches withEvent:(UIEvent *)event
{
[self.nextResponder touchesBegan:touches withEvent:event];
}
答案 0 :(得分:1)
有一个名为iCarousel的第三方库,设置了两个轮播视图,它们甚至可以像桌面视图一样工作,您可以轻松转换索引并轻松获取触摸事件。
答案 1 :(得分:1)
在您的小滚动视图图片中确定。选择所有图像的标签。
smallimage.tag = index;
并在此方法中
-(void)ShowDetailView:(UIImageView *)imgView
{
[self.zoomScroll setContentOffset:CGPointMake(imgView.tag * self.zoomScroll.frame.size.width, 0) animated:YES];
}