2012-12-13 2 views
0

UIScrollView에서 사진을 표시하는 iPhone 응용 프로그램 (예 : 내장 사진 응용 프로그램)에서 작업 중입니다. 이전 (즉, 코딩을 시작할 때), 나는 사진을 다른 옆에 즉시 추가했습니다. 즉 각 사진 크기는 화면 너비 크기입니다 (예 : iPhone Retina의 경우 640px). 그래서 첫 번째 사진의 X 축 지점은 0.0에서 시작합니다. 두 번째는 640.0, 세 번째는 980.0 등으로 시작합니다. 최근,이 같은 사진 (이 두 사진 사이의 검은 색 공간이다) 사이에 검은 공간을 추가하기로 결정 :UIScrollView : 스크롤 오프셋 w.r.t 페이지 크기

enter image description here

지금, SYA는 검은 간격이 40px입니다. 따라서 첫 번째 사진의 오프셋 (즉, x 축 오프셋)은 0.0입니다. 두 번째 사진의 경우 360px (320px는 첫 번째 사진의 너비 + 40px의 검은 색 간격)입니다. 그러나 여기의 문제는 다음과 같습니다. 기본적으로 스크롤보기는 사진 너비를 '기본'스크롤 오프셋으로 간주합니다. 즉, 첫 번째 사진이 & 인 경우 오른쪽으로 스크롤 한 다음 320px 오프셋을 'default'로 스크롤합니다.이 값은 360px (검은 색 간격의 40px 추가)로 스크롤 할 수 있지만 scrollViewDidEndDecelerating에서이 값을 얻습니다. 이 기본 스크롤 오프셋을 어떻게 변경합니까?

답변

0

스크롤보기의 두 번째보기가 그 여분의 40px로 시작하기 때문에 이런 현상이 발생할 수 있습니다. 다음번보기 시작 부분에 여분의 40px 검은 색 스트립을 추가하는 것이 좋습니다.

for(int i = 0; i < 4; i++) 
{ 

UIView *myView = [[UIView alloc]initWithFrame : CGRectMake (incX,0,your_Scroll.frame.size.width,your_Scroll.frame.size.height)]; 
    myView.backgroundColor = [UIColor blackColor]; 

    UIImageView *imgView = [[UIImageView alloc]initWithFrame:CGRectMake(0, 0, myView.frame.size.width - 40, myView.frame.size.height)]; 

    imgView.backgroundColor = [UIColor clearColor]; 

    imgView.image = [UIImage imageNamed:[NSString stringWithFormat:@"Image%i.png",i]]; 

    [myView addSubview:imgView] 

    [your_Scroll addSubview:myView]; 

    incX+= 320; 
} 

희망이 있으면 도움이 될 것입니다. :)

+0

의견을 보내 주셔서 감사합니다. 요점은 그 검은 색 간격을 얻으려면 어떤 UIView 추가하지 않습니다; 내가하고있는 일은 사진을 UIScrollView에 40px 간격으로 추가하는 것입니다. 사실 기본적으로 그들 사이의 공간은 검은 색으로 표시됩니다. 즉, 예를 들어 UIScrollView에 오프셋 0.0px의 첫 번째 사진을 추가하는 것입니다 (모든 사진의 폭은 320.0px입니다). 두 번째 사진을 360px (320px (첫 번째 사진 폭) + 40px (검은 색 간격))에 추가하는 등의 작업을 수행 할 수 있습니다. 실제로 사진 사이의 간격 (스크롤보기에서)은 검은 색으로 채워집니다. – Jean

+0

누군가 도와주세요! – Jean

+0

@Jean 어떻게 도와 드릴까요? 내가 할 수있는 일을하겠다고 말해. 위의 논리를 먼저 시험해보십시오. – superGokuN