-(void)viewDidLoad
{
[super viewDidLoad];
// add the last image (image4) into the first position
[self addImageWithName:@"image4.jpg" atPosition:0];
// add all of the images to the scroll view
for (int i = 1; i < 5; i++)
{
[self addImageWithName:[NSString stringWithFormat:@"image%i.jpg",i] atPosition:i];
}
// add the first image (image1) into the last position
[self addImageWithName:@"image1.jpg" atPosition:5];
scrollView.contentSize = CGSizeMake(320, 2496);
[scrollView scrollRectToVisible:CGRectMake(0,416,320,416) animated:NO];
}
- (void)addImageWithName:(NSString*)imageString atPosition:(int)position {
// add image to scroll view
UIImage *image = [UIImage imageNamed:imageString];
UIImageView *imageView = [[UIImageView alloc] initWithImage:image];
imageView.frame = CGRectMake(0,position*416,320, 416);
[scrollView addSubview:imageView];
[imageView release];
}
- (void)scrollViewDidEndDecelerating:(UIScrollView *)sender {
NSLog(@"%f",scrollView.contentOffset.y);
// The key is repositioning without animation
if (scrollView.contentOffset.y == 0) {
// user is scrolling to the left from image 1 to image 4
// reposition offset to show image 4 that is on the right in the scroll view
[scrollView scrollRectToVisible:CGRectMake(0,1664,320,416) animated:NO];
}
else if (scrollView.contentOffset.y == 2080) {
// user is scrolling to the right from image 4 to image 1
// reposition offset to show image 1 that is on the left in the scroll view
[scrollView scrollRectToVisible:CGRectMake(0,416,320,416) animated:NO];
}
}
问问题
923 次
1 回答
0
我不想重复我的答案,在下面的页面中,我已经写了如何创建一个带有 3 个图像的滚动视图,可以在两个水平方向上无限滚动:
https://stackoverflow.com/a/12856174/936957
如果您更准确地描述您的问题以及您想要实现的目标,人们可以更轻松地提供帮助。
于 2012-11-29T07:56:24.710 回答