我有一个UIScrollView,其中有3个“页面”(page 0,page 1,page 2),可以通过手指滑动进行切换。还有一个UIPageControl。UIScrollView从呈现页面0开始。我想做的是有时首先呈现页面3。如何在程序中实现这一点。
顺便说一句,仅仅将UIPageControl的currentPage设置为页面编号是无效的。
我有一个UIScrollView,其中有3个“页面”(page 0,page 1,page 2),可以通过手指滑动进行切换。还有一个UIPageControl。UIScrollView从呈现页面0开始。我想做的是有时首先呈现页面3。如何在程序中实现这一点。
顺便说一句,仅仅将UIPageControl的currentPage设置为页面编号是无效的。
(来自PageControl示例)
要直接跳转到scrollView的特定部分,请使用:
CGRect frame = scrollView.frame;
frame.origin.x = frame.size.width * page;
frame.origin.y = 0;
[scrollView scrollRectToVisible:frame animated:YES];
我刚刚实现了同样的功能,例如scrollview和page control,并使用了 。pageControl.currentPage = {pageNumber};
这个方法运行得很完美,请确保在Interface Builder中正确设置了pageControl outlet(如果你正在使用它)。
如果问题是scrollView不起作用,而不是pageControl。那么请确保正确设置了scrollView的contentsize。
scrollView.contentSize = CGSizeMake(320*numberOfPages, scrollView.frame.size.height);
然后,您将内容添加到每个部分的滚动视图中。
page1ViewController.view.frame = CGRectMake(0, 0, 320, 200);
[scrollView addSubview:page1ViewController.view];
下一页会被向右推出一个屏幕的宽度
page2ViewController.view.frame = CGRectMake(320, 0, 320, 200);
[scrollView addSubview:page2ViewController.view];