2010-10-07 90 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