2009-12-08 4 views
0

내용이 1280 * 1280이고 동등한 크기의 25 개의 이미지가로드 된 uiscrollview가 있습니다. 스크롤하고 끝을 만났을 때 스크린 센터에 현재있는 이미지의 신원을 알고 싶습니다. 스크롤 뷰에 이미지를로드하는 데 사용한 코드는 다음과 같습니다. 내가 어떻게 알아낼 수 있니?현재 화면 중앙에로드 된 이미지의 ID를 가져 옵니까?

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]; 
    } 
} 

URL을 되 찾을 수 있으면 즉시 문제가 해결됩니다. 그것을 할 수있는 방법이 있습니까?

답변

0
  1. 는 (방향)에 따라 1280/5 의해
  2. 나눈다 xy 값을 화면의 중심에 CGPoint 계산 오프셋없이 UIScrollView으로 타일을 중심 겹치기 i-j 인덱스를 결정 ((1280/5)/2) 추가
  3. 지금 중앙 실제로 타일이 있지만 w이다 내가 알고있다
+0

문제 겹치는 타일을 결정하기 위해 현재의 오프셋 (offset) 스크롤 뷰를 추가 개미 이름을 얻으려면 예를 들어 http : //stage.discoveritalia.it/tiles/10/6028/5078.png. 그 문자열을 문자열로 가져 와서 구문 분석하고 마지막 두 정수 값을 가져 오려고합니다. 그리고 그것에 따라 나는 contentSize의 중심에있는 이미지를 둘러싼 다음 25 개의 이미지를로드해야합니다. 이 모든 것은 UIScrollView를 호출 할 때 유용합니다. – wolverine

+0

이봐, 알아 냈어. 그냥 배열에 원하는 모든 URL 또는 더 구체적으로 URL에 2 값을 저장하십시오. ur 공식에 따라 나는 x와 y를 얻을 것이다. x * 5 + y는 나에게 값을 줄 배열의 인덱스를 줄 것이다. 고마워. – wolverine

관련 문제