我在UIScrollView中有3个“页面”(第0页,第1页,第2页),通过手指滑动捕捉到它们。那里也有一个UIPageControl。 UIScrollView开始显示第0页。我想要做的是有时会出现第3页。我该如何以编程方式执行此操作。
简单地将currentPage(UIPageControl)设置为页码不会发生任何问题。
答案 0 :(得分:23)
(来自PageControl示例)
直接转到scrollView的特定部分使用
CGRect frame = scrollView.frame;
frame.origin.x = frame.size.width * page;
frame.origin.y = 0;
[scrollView scrollRectToVisible:frame animated:YES];
我刚刚实现了相同的功能,例如scrollview和页面控件,并使用了
pageControl.currentPage = {pageNumber};
效果很好,你确定在Interface Builder中正确设置了pageControl插座(如果你正在使用它)。
如果问题是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];