2012-06-23 5 views
0

애플의 PhotoScroller example을 수정하여 전체 화면을 차지하는 뷰가 아닌 서브 뷰로 만들어진 scrollview를 만들려고합니다. 이것이 어떻게 성취 될 수 있는지에 대한 아이디어가 있습니까?photoscroller로 만든 scrollview를 서브 뷰에 추가하기

- (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; 

    // When I do this it fails 
    [self.view addSubview:pagingScrollView]; 

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

답변

0
당신은 그냥있는 ScrollView의 프레임 위치 및 방법을 크기 할 수정해야

:

이이 예에서 그것을 설정하는 뷰 컨트롤러의 라인

pagingScrollView = [[UIScrollView alloc] initWithFrame:pagingScrollViewFrame]; 
여기 예를 들어

일부 하드 코드 된 값을 샘플 프레임 : 그래서

CGRect scrollFrame = CGRectMake(100,100,100,100); 
pagingScrollView = [[UIScrollView alloc] initWithFrame:scrollFrame]; 
+0

그래, 크기와 위치를 변경할 수 있었지만 하위 뷰에 추가하려고 할 때 (self.view = pagingScrollView를 [ self.view addSubview : pagingScrollView]) 잘못된 액세스로 인해 충돌이 발생합니다. – wierddemon

+0

문제없이 하위보기로 추가 할 수 있어야합니다. 이 코드를 어디에서 호출하고 있습니까? 문제의 원인을 줄이기 위해 더 많은 코드를 게시 할 수 있습니다. 또한 코드를 통해 디버깅하여 어떤 항목이 인스턴스화되지 않고 잘못된 액세스가 발생하는지 확인할 수도 있습니다. – Dima

+0

죄송합니다. 코드 블록을 변경하여 내 게시물을 편집했습니다. 메모로서, (CGRectMake로 하드 코딩하는 대신에) 사용자 정의 프레임을주기 위해 frameForPagingScrollView를 수정했습니다. – wierddemon

0

, 나는 발견 메서드를 loadView에서 viewDidLoad로 변경하여 scrollView를 하위 뷰로 추가 할 수있었습니다.

나는 그것이 작동하는 이유를 모르지만 그럴 수 있습니다. 그러나 그 이유를 알고 싶습니다 ...

관련 문제