2011-12-20 2 views
1

내 앱에서 PhotoScroller의 변경된 샘플 코드를 사용하고 있습니다. 나는 이미지 미리보기 이미지의 테이블 뷰를 가지고 있으며, 그 테이블을 PhotoViewController에 채우는 이미지 배열을 전달할 수 있습니다. 현재 PhotoViewController는 배열의 첫 번째 이미지로 시작하고 앞뒤로 스크롤 할 수 있습니다. 이것은 Apple의 샘플 코드로 올바르게 작동합니다.iOS PhotoScroller 샘플 코드를 업데이트하는 방법

이제 축소판을 사용하여 표 셀을 탭하고 인덱스에서 내 배열의 이미지로 시작하는 이미지 스크롤을 시작합니다. 예 : 테이블에 5 개의 이미지가 있고 이미지 # 3을 탭하면 PhotoViewController의 첫 번째 이미지를 세 번째 이미지로 만들고 왼쪽 또는 오른쪽으로 # 2 또는 # 4로 스크롤 할 수 있습니다. 희망이 의미가 있습니다.

PhotoViewController에서 이미지 당 하위보기가 추가되는 것을 볼 수 있습니다. 어떤 방식 으로든 다른 뷰 또는 전체적인 출현 순서를 파괴하지 않으면 서 "점 # 3으로 이동"할 수 있습니까? 어떤 아이디어 나 조언도 환영합니다. 코드는 PhotoScroller 샘플 코드의 iOS 개발자 사이트에서 찾을 수 있습니다.

자, 이제 알겠습니다. 미리 도와 줘서 고마워!

답변

1

내가하는 일은 startingPage이라는 변수를 가지고 사진보기 컨트롤러의 초기화 프로그램에서 설정하는 것입니다. 그런 다음 페이지를 만들 때 먼저 스크롤 뷰의 올바른 오프셋을 설정합니다.

따라서 PhotoScroller의 경우는 loadView입니다. 좋아요 :

- (void)loadView 
{ 
    // Step 1: make the outer paging scroll view 
    CGRect pagingScrollViewFrame = [self frameForPagingScrollView]; 
    pagingScrollView = [[UIScrollView alloc] initWithFrame:pagingScrollViewFrame]; 
    pagingScrollView.pagingEnabled = YES; 
    pagingScrollView.backgroundColor = [UIColor blackColor]; 
    pagingScrollView.showsVerticalScrollIndicator = NO; 
    pagingScrollView.showsHorizontalScrollIndicator = NO; 
    pagingScrollView.contentSize = [self contentSizeForPagingScrollView]; 
    pagingScrollView.delegate = self; 
    self.view = pagingScrollView; 

    // Set the content offset of the scrollview 
    CGRect bounds = pagingScrollView.bounds; 
    CGPoint contentOffset = CGPointMake(bounds.size.width * startingPage, 0.0f); 
    [pagingScrollView setContentOffset:contentOffset animated:NO]; 

    // Step 2: prepare to tile content 
    recycledPages = [[NSMutableSet alloc] init]; 
    visiblePages = [[NSMutableSet alloc] init]; 
    [self tilePages]; 
} 
+0

안녕하세요, Matt! 도움 주셔서 감사합니다. 귀하의 솔루션을 시도했지만, 내가 얻는 동작은 시작 페이지 (또는 내 경우 selectedPhotoIndex)에 대한 내 값에 관계없이 빈 초기보기입니다. 빈 페이지를 "스크롤"하면 배열의 첫 번째 이미지가 나타납니다. 나머지 PhotoViewController는 소스 코드에서와 동일하지만 이미지 배열을 사용하도록 업데이트 된 "이미지 논쟁"섹션은 예외입니다. 내 코드를 올리려고했지만 코멘트에 입력 할 수있는 문자 수가 제한되어있는 것 같습니다 ... – RodneyJ725

+0

자, 잠깐 살펴 보겠습니다. 어떻게 작성했는지 보여주는 예를 보여 드리겠습니다. PhotoScroller 코드로 처리하십시오. 죄송합니다. 내 초기 코드가 충분하지 않아야합니다 .--(. – mattjgalloway

+0

"애니메이션"을 "YES"로 설정하면 갑자기 실험 이미지를 볼 수 있습니다. 이전 이미지의 스크롤을 다시 NO로 설정하면 위에서 설명한 동작이 수행됩니다 (공백 및 빈 페이지를 스크롤하면 상관없이 첫 번째 이미지로 이동합니다). – RodneyJ725

관련 문제