获取当前在屏幕中心加载的图像的标识?

时间:2009-12-08 06:38:00

标签: iphone cocoa-touch uiimageview uiimage

我有一个内容大小为1280 * 1280的uiscrollview和25个相同大小的图像。当我滚动并结束时,我想知道屏幕中心当前存在的图像的身份。下面给出的是用于将图像加载到scrollView中的代码。我怎么能搞清楚?

    for (i = 0; i < 5; i++) {
    if(j == 5)
    {
        tx = tx+1;
        x=x+256;
        ty = ty+5;
        y = y-1280;
    }
    for (j = 0; j < 5; j++) {
        imageView = [[UIImageView alloc] initWithImage:[UIImage imageWithData:[NSData dataWithContentsOfURL:[NSURL URLWithString:[NSString stringWithFormat:@"http://stage.discoveritalia.it/tiles/%d/%d/%d.png",zoom,tx,ty]]]]];
        frame = [imageView frame];
        frame.origin.x = x;
        frame.origin.y = y;
        [imageView setFrame:frame];
        [myScrollView addSubview:imageView];

        ty = ty-1;
        y = y+256;

        [imageArray insertObject:imageView atIndex:i*5+j];
        [imageView release];
     }
}

如果我可以恢复网址,它会马上解决我的问题。有办法吗?

1 个答案:

答案 0 :(得分:0)

  1. 计算屏幕中心的CGPoint(取决于方向)
  2. xy值除以1280 / 5并添加((1280 / 5) / 2)以确定中心重叠的图块i-j索引,而不是{{ 1}} offset
  3. 现在添加当前滚动视图偏移量以确定中心实际重叠的区块