2010-03-24 118 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

相关问题