如何以编程方式设置UIPageControl的当前页面?

Rex*_*ids 6 iphone xcode uiscrollview uiviewcontroller uipagecontrol

我在UIScrollView中有3个"页面"(第0页,第1页,第2页),通过手指滑动捕捉到它们.那里也有一个UIPageControl.UIScrollView开始显示第0页.我想要做的是有时会出现第3页FIRST.我怎么能以编程方式做到这一点.

简单地将currentPage(UIPageControl)设置为页码不会发生任何问题.

Lia*_*iam 23

(来自PageControl示例)

直接转到scrollView使用的特定部分

CGRect frame = scrollView.frame;
frame.origin.x = frame.size.width * page;
frame.origin.y = 0;
[scrollView scrollRectToVisible:frame animated:YES];
Run Code Online (Sandbox Code Playgroud)

我刚刚实现了相同的功能,例如scrollview和页面控件并使用了

pageControl.currentPage = {pageNumber};
Run Code Online (Sandbox Code Playgroud)

哪个工作得很好,你确定在Interface Builder中正确设置了pageControl插座(如果你正在使用它).

如果问题是scrollView不起作用,而不是pageControl.然后确保您正确设置了scrollView的内容大小.

    scrollView.contentSize = CGSizeMake(320*numberOfPages, scrollView.frame.size.height);
Run Code Online (Sandbox Code Playgroud)

在此滚动视图中,您可以将内容添加到每个部分

page1ViewController.view.frame = CGRectMake(0, 0, 320, 200);
[scrollView addSubview:page1ViewController.view];
Run Code Online (Sandbox Code Playgroud)

下一页被推过1个屏幕宽度

page2ViewController.view.frame = CGRectMake(320, 0, 320, 200);
[scrollView addSubview:page2ViewController.view];
Run Code Online (Sandbox Code Playgroud)