2013-04-23 3 views
3

안녕하세요, 입니다.입니다.이 질문에 대한 도움을 받으십시오.ScrollView 페이지 표시가 나타나지 않음

나는 세 개의 서로 다른 이미지를 열어 scroll viewpagination으로 연결된보기를 만들고 있습니다. XIB을 사용하여 페이지 매김 논리 및 스크롤보기를 가져옵니다. 내가 어려운 다음보기로 이동합니다 발견하고

  • 다른 플레이 화면에 나타나는 페이지 표시를 얻을 수 아니다

    1. :

      나는 두 가지 문제에 직면하고있다 일단 세 번째보기에 도달하면 컨트롤러.

    다음은 레이 완더 리치의 tutorial입니다. 한 번 사용자가 마지막 페이지에 도달 할 때 다음 페이지로 스 와이프하려고하면 다음보기 컨트롤러로 이동하는 코드를 추가 할 위치에 맞습니다.

    내 코드는 다음과 같다 :

    - (void)viewDidLoad { 
    [super viewDidLoad]; 
    
    
        self.navigationController.navigationBarHidden =YES; 
    // Set up the image we want to scroll & zoom and add it to the scroll view 
    self.pageImages = [NSArray arrayWithObjects: 
            [UIImage imageNamed:@"IMAGE1.png"], 
            [UIImage imageNamed:@"IMAGE2.png"], 
            [UIImage imageNamed:@"IMAGE3.png"], 
            // [UIImage imageNamed:@"photo4.png"], 
            // [UIImage imageNamed:@"photo5.png"], 
            nil]; 
    
    NSInteger pageCount = self.pageImages.count; 
    
    // Set up the page control 
    self.pageControl.currentPage = 0; 
    self.pageControl.numberOfPages = pageCount; 
    
    // Set up the array to hold the views for each page 
    self.pageViews = [[NSMutableArray alloc] init]; 
    for (NSInteger i = 0; i < pageCount; ++i) { 
        [self.pageViews addObject:[NSNull null]]; 
    } 
    

    }

    - (void)loadVisiblePages { 
    // First, determine which page is currently visible 
    CGFloat pageWidth = self.scrollView.frame.size.width; 
    NSInteger page = (NSInteger)floor((self.scrollView.contentOffset.x * 2.0f + pageWidth)/(pageWidth * 2.0f)); 
    
    // Update the page control 
    self.pageControl.currentPage = page; 
    
    NSLog(@"One %d",page); 
    
    if (page == 2) { 
    
        page = 3; 
    
        if(page == 3){ 
         NSLog(@"Working"); 
    
         SignInViewController *view = [[SignInViewController alloc]initWithNibName:@"SignInViewController" bundle:nil]; 
         [self.navigationController pushViewController:view animated:NO]; 
         [view release]; 
         view=nil; 
        } 
    
    } 
    
    // Work out which pages we want to load 
    NSInteger firstPage = page - 1; 
    NSInteger lastPage = page + 1; 
    
    // Purge anything before the first page 
    for (NSInteger i=0; i<firstPage; i++) { 
        [self purgePage:i]; 
    } 
    
    
        // Load pages in our range 
    for (NSInteger i=firstPage; i<=lastPage; i++) { 
        [self loadPage:i]; 
    
    
    } 
    
    
        // Purge anything after the last page 
    for (NSInteger i=lastPage+1; i<self.pageImages.count; i++) { 
        [self purgePage:i]; 
    
    } 
    

    가}

    내가 나의 뷰 컨트롤러의 줄을 추가하려고 :

    SignInViewController *view = [[SignInViewController alloc]initWithNibName:@"SignInViewController" bundle:nil]; 
          [self.navigationController pushViewController:view animated:NO]; 
          [view release]; 
          view=nil; 
    

    그러나 이렇게하면 세 번째 이미지가 사라집니다. 사용자가 두 번째 이미지에서 세 번째 이미지로 스 와이프하려고하면 내 SignInView 컨트롤러 페이지로 직접 이동합니다.

    사용자가 세 번째 이미지를보고 나서 스 와이프를 감지하고 애니메이션이있는 다음보기 컨트롤러로 이동하려면 어떻게해야합니까? 스 와이프 애니메이션과 감지로 시도했지만 저에게 효과적이지 않았습니다. 어디에서 코드를 작성하고 도움을 요청해야합니까? !!

    대답 2 부 .->

    시도하고 :

  • 답변

    1

    가 나는 답장을 늦게 될 수도 있지만 당신은 당신의 두 번째 문제의 해결책이 여전히 공격 할 수 있으며 여기에 다음 도움이 필요 것 같아요 이 코드 추가

    if (page == 2) { 
    
        page = 3; 
    
        if(page == 3){ 
    
         NSLog(@"content ofset-- %f",self.scrollView.contentOffset.x); 
    
         if (self.scrollView.contentOffset.x>=700) 
         { 
          SignIn2ViewController *view = [[SignIn2ViewController alloc]initWithNibName:@"SignIn2ViewController" bundle:nil]; 
          [self.navigationController pushViewController:view animated:NO]; 
          [view release]; 
          view=nil; 
         } 
    
        } 
    } 
    

    필요에 따라 오프셋 값을 확인할 수 있습니다. 이 (가)이 작품 일 수 있습니다.

    그리고 1 부에 답변하십시오. -> Ray Wanderlich 튜토리얼을 다시 읽고 XB의 설정을 확인하십시오. 그러면 콘센트 또는 페이지 표시기에 추가 할 정보를 건너 뛸 수 있습니다.

    희망은 당신을 위해 작동합니다.

    +0

    안녕하세요 @iOSNiks 감사합니다. 나는 그것과 비슷하게했고 그것은 나를 위해 일했습니다. 답장을 보내 주셔서 감사 드리며 튜토리얼과 소스 코드를 다시 확인했지만 여전히 페이지 표시가 나타나지 않는 이유를 해결할 수 없었습니다. 이제 지표의 맞춤 이미지를 추가 할 것입니다. – sac

    관련 문제