2010-03-24 98 views
6

我在UIScrollView中有3個「頁面」(第0頁,第1頁,第2頁),通過手指滑動來對齊。這裏也有一個UIPageControl。 UIScrollView開始顯示第0頁。我想要做的是有時顯示第3頁FIRST。我如何以編程方式執行此操作。如何以編程方式爲UIPageControl設置當前頁面?

簡單地將currentPage(的UIPageControl的)設置爲頁碼不會有任何問題。

回答

23

(從的PageControl例子)

直接轉到了滾動的特定部分使用

CGRect frame = scrollView.frame; 
frame.origin.x = frame.size.width * page; 
frame.origin.y = 0; 
[scrollView scrollRectToVisible:frame animated:YES]; 

我只是執行相同的,例如滾動視圖和頁面控制和使用的

pageControl.currentPage = {pageNumber}; 

哪個工作完美,你確定pageControl出口是s並在界面生成器中正確(如果你使用它)。

如果問題是scrollView不起作用,而不是pageControl。然後確保您正確設置了scrollView的內容。

scrollView.contentSize = CGSizeMake(320*numberOfPages, scrollView.frame.size.height); 

對此滾動視圖,那麼你的內容添加到

page1ViewController.view.frame = CGRectMake(0, 0, 320, 200); 
[scrollView addSubview:page1ViewController.view]; 

下一頁被推倒1分屏寬

page2ViewController.view.frame = CGRectMake(320, 0, 320, 200); 
[scrollView addSubview:page2ViewController.view]; 
+0

究竟應該連接到什麼什麼每一節?我的UIPageControl直接連接到我的RootViewController,而不是我的ScrollViewController(全部在同一個xib文件中) – RexOnRoids 2010-03-24 14:17:31

+0

在您的控制器中爲scrollView和pageControl創建Outlet IBOutlet UIScrollView * scrollView; @property(nonatomic,retain)IBOutlet UIPageControl * pageControl; 並將它們鏈接到xib中的控件 – Liam 2010-03-24 14:23:34

相關問題