2010-10-07 29 views

回答

8

使用UIPageControl:

pageControl = [[UIPageControl alloc] initWithFrame:CGRectMake(...)]; // set in header 
[pageControl setNumberOfPages:3]; 
[pageControl setCurrentPage:0]; 
[pageControl setBackgroundColor:[UIColor clearColor]]; 
[self.view addSubview:pageControl]; 

也就是說,顯示了點...的頁數爲點的數量的UI組件。當前頁面是當前突出顯示的頁面。

然後,你需要使用滾動視圖的委託方法來決定你已經滾動到的頁面:

- (void)scrollViewDidEndDecelerating:(UIScrollView *)scrollView{ 
    int newOffset = scrollView.contentOffset.x; 
    int newPage = (int)(newOffset/(scrollView.frame.size.width)); 
    [pageControl setCurrentPage:newPage]; 
} 
+0

感謝。目前我有這個。但我需要'點狀指示器'。就像在iphone主顯示器一樣。 (指示在水平方向上有更多的應用程序) – 2010-10-07 15:42:22

+1

您根本就沒有這個... UIPageControl是三個點。如果你有這個,那麼你不會有問題。 – 2010-10-07 15:44:51

+0

謝謝托馬斯。似乎這是正確的。我會盡力讓你知道。 – 2010-10-07 16:16:20

-1

您可以使用UIPageControl上面有3個點。您需要屏幕空間(假設屏幕底部)來放置頁面控件,這樣您的滾動視圖將無法達到全高。

+0

只要頁面控件不是UIScrollView的子視圖,沒有理由說它無法遍歷滾動視圖。除了命名用於顯示頁面控件的類外,此答案不會提供任何幫助。 – 2010-10-07 15:42:11

+0

是的,但我假設你不想讓UIPageControl(3個點)顯示在你的視圖上。它的一般習慣是把它放在UISCrollView之下,作爲用戶可用的頁面數量和當前頁面,這就是你想要的。這是一個很好的例子:http://cocoawithlove.com/2009/01/multiple-virtual-pages-in-uiscrollview.html – Ben 2010-10-07 15:50:27

0

您可以創建contentView,在其中添加UIScrollView和UIPageControl,將pageControl的numberOfPages設置爲選定的計數,並且當您在pageControl(currentPage屬性)中滾動時更改頁面。

乾杯, 剋日什托夫·Zabłocki