2013-08-23 3 views
0

나는 꽤 오랫동안이 작업을 해왔으며 지금은 파악할 수 없다.UIPageControl 사라짐

내 페이지 컨트롤이 계속 사라집니다.

필자는 원래 코드가 작동하도록했지만 필자는 뷰를 스크롤하면서 pagecontrol을 표시하고있었습니다.

지금까지 어떻게 변경했는지 두 가지보기에서 앞으로 스크롤 할 때 표시되고 페이지 컨트롤에 대해 작동하지 않는 다른보기는 표시되지 않습니다. 첫 번째보기로 뒤로 스크롤하면 페이지 컨트롤도 사라집니다 (내 코드를 실행하기 시작할 때 사용했던 두 가지 포함).

내보기 모두에 동일한 설정이 적용되므로 왜 이것이 계속되는지 잘 모르겠습니다. 하나는 메신저가 잘못가는 위치를 알고 그 화려한 것 나를 도울 수 있다면

- (void)scrollViewDidScroll:(UIScrollView *)sender { 

    if (_pageControlUsed || _rotating) { 
     // do nothing - the scroll was initiated from the page control, not the user dragging 
     return; 
    } 

    // Switch the indicator when more than 50% of the previous/next page is visible 
    CGFloat pageWidth = self.scrollView.frame.size.width; 
    int page = floor((self.scrollView.contentOffset.x - pageWidth/2)/pageWidth) + 1; 
    if (self.pageControl.currentPage != page && page>=0 && page<self.childViewControllers.count) { 
     UIViewController *oldViewController = [self.childViewControllers objectAtIndex:self.pageControl.currentPage]; 
     UIViewController *newViewController = [self.childViewControllers objectAtIndex:page]; 
     [oldViewController viewWillDisappear:YES]; 
     [newViewController viewWillAppear:YES]; 
     self.pageControl.currentPage = page; 
     [oldViewController viewDidDisappear:YES]; 
     [newViewController viewDidAppear:YES]; 
     _page = page; 


     CGRect frame = pageControl.frame; 
     frame.origin.x = pageWidth; 
     pageControl.frame = frame; 
    } 
} 

주십시오 :. 일이 여기

내가 사용하고 코드의 캡션입니다. 내가 아직 프로그래밍에 익숙하지 않다는 것을 알고있다. xcode.

+0

전체 튜토리얼 페이지 스크롤 요소를 계산하지 않고 페이지 통제 할를 사용하기 쉬운 좋은 접근 방법을 링크를 확인하시기 바랍니다 변경하려면이 간단한 방법으로 페이지 컨트롤을 추가하세요 – iphonemaclover

답변

0

PageControl Sample

- (void)scrollViewDidScroll:(UIScrollView *)sender { 
    // Update the page when more than 50% of the previous/next page is visible 
    CGFloat pageWidth = self.scrollView.frame.size.width; 
    int page = floor((self.scrollView.contentOffset.x - pageWidth/2)/pageWidth) + 1; 
    self.pageControl.currentPage = page; 
} 

하고

- (IBAction)changePage { 
    // update the scroll view to the appropriate page 
    CGRect frame; 
    frame.origin.x = self.scrollView.frame.size.width * self.pageControl.currentPage; 
    frame.origin.y = 0; 
    frame.size = self.scrollView.frame.size; 
    [self.scrollView scrollRectToVisible:frame animated:YES]; 
} 

- (void)scrollViewWillBeginDragging:(UIScrollView *)scrollView { 
    pageControlBeingUsed = NO; 
} 

- (void)scrollViewDidEndDecelerating:(UIScrollView *)scrollView { 
    pageControlBeingUsed = NO; 
} 
+0

빠른 답장을 보내 주셔서 감사합니다! 완벽하게 작동합니다! @iphonemaclover –

+0

그것의 나의 쾌락은 투표 높은쪽으로 잊지 않는다! 코딩 즐기세요! – iphonemaclover