2013-08-23 61 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