跳转到scrollview的特定页面

时间:2014-12-11 08:41:59

标签: ios objective-c xcode uiscrollview

我有一个gridViewControll。我想要的是:当我点击一些图片时,我想转到另一个视图控制器并显示单击的图片,并以相同的顺序在gridView的所有图像之间滑动。

所以,在gridView中,我设置了点击图片的ID,我将它发送到新的视图控制器,没关系,但是当我交换时,图片从开始开始。

- (void)viewDidLoad
{
    [super viewDidLoad];

    imageArray = [[NSMutableArray alloc] init];
              for (int i = 1 ; i< 402 ; i++){

        UIImage *image = [UIImage imageNamed: [NSString stringWithFormat: @"image_%d" , i]];
        [imageArray addObject: image];


    }


    for (int i = 0; i < [imageArray count]; i++) {

        CGRect frame;
        frame.origin.x = self.scrollView.frame.size.width * i;
        frame.origin.y = 0;
        frame.size = self.scrollView.frame.size;

        UIImageView *imageView = [[UIImageView alloc] initWithFrame:frame];
        imageView.image = [imageArray objectAtIndex:i];
        [self.scrollView addSubview:imageView];

    }
    CGRect frame;

    frame.origin=self.scrollView.frame.origin;
    frame.size = self.scrollView.frame.size;


    UIImageView *imagetest=[[UIImageView alloc] initWithFrame:frame];
    imagetest.image = [imageArray objectAtIndex:self.data];
    [self.scrollView addSubview:imagetest];

    scrollView.contentSize = CGSizeMake(scrollView.frame.size.width * [imageArray count], scrollView.frame.size.height);


}
- (void)scrollViewDidScroll:(UIScrollView *)sender
{
    CGFloat pageWidth = self.scrollView.frame.size.width;
    int page = floor((self.scrollView.contentOffset.x - pageWidth / 2) / pageWidth) + 1;
    self.pageControl.currentPage = page;
}

1 个答案:

答案 0 :(得分:0)

您必须从图像数组中选择图像索引(例如,索引编号中的)。 所以你可以使用那段代码:

CGPoint bottomOffset = CGPointMake(scrollView.frame.size.width * indexNumber, 0);

[self.scrollView setContentOffset:bottomOffset animated:YES];

希望这有帮助。