我相信你在找什麼實際上是一個UIScrollView與pagingEnabled設爲是。您可以將scrollview作爲常規UITabBar上方的視圖。您將使用UIPageControl來獲取小點。您可以通過實現滾動視圖的適當委託方法(可能是-scrollViewDidScroll:)在UIScrollView滾動到頁面時以編程方式更新它。
假設您有兩個ivars:scrollView和pageControl。當你知道你的滾動視圖有多少頁時,你可以設置scrollView的contentSize。它應該是scrollView邊界的倍數。例如,如果頁數是靜態的,你可以硬編碼在你的-viewDidLoad ...
- (void)viewDidLoad {
// Any other code.
scrollView.pagingEnabled = YES;
scrollView.contentSize = CGSizeMake(scrollView.bounds.size.width * 3, scrollView.bounds.size.height); // 3 pages wide.
scrollView.delegate = self;
}
然後更新您的小點......
- (void)scrollViewDidScroll:(UIScrollView *)scrollView {
CGFloat pageWidth = scrollView.bounds.size.width;
NSInteger pageNumber = floor((scrollView.contentOffset.x - pageWidth/2)/pageWidth) + 1;
pageControl.currentPage = pageNumber;
}
謝謝,你有任何形式的源代碼如何做到這一點? (我找不到) – 2011-01-21 21:16:05
@安迪B,是的。我用一種標準方法編輯了我的答案。 – 2011-01-21 21:44:35