【发布时间】:2010-10-07 15:34:56
【问题描述】:
这可能是一个简单的问题。我有一个带有 3 个视图的 UIScrollView。我需要显示 3 个点,如指示器(以指示用户有更多页面)。我该怎么做?
【问题讨论】:
标签: iphone objective-c iphone-sdk-3.0 ios4
这可能是一个简单的问题。我有一个带有 3 个视图的 UIScrollView。我需要显示 3 个点,如指示器(以指示用户有更多页面)。我该怎么做?
【问题讨论】:
标签: iphone objective-c iphone-sdk-3.0 ios4
使用 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];
}
【讨论】:
您可以创建添加 UIScrollView 和 UIPageControl 的 contentView,将 pageControl 的 numberOfPages 设置为选定的计数,并在滚动时更改 pageControl 中的页面(currentPage 属性)。
干杯, Krzysztof Zabłocki
【讨论】:
您可以使用带有 3 个点的 UIPageControl。您需要屏幕空间(假设屏幕底部)来放置页面控件,因此您的滚动视图将无法达到全高。
【讨论】: