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

发布于 2024-08-27 02:54:33 字数 201 浏览 8 评论 0原文

我在 UIScrollView 中有 3 个“页面”(第 0 页、第 1 页、第 2 页),通过手指滑动来对齐。那里也有一个 UIPageControl。 UIScrollView 从显示第 0 页开始。有时我想做的是先显示第 3 页。我怎样才能以编程方式做到这一点。

顺便说一句,简单地将(UIPageControl 的)currentPage 设置为页码没有任何作用。

I have 3 "pages" (page 0, page 1, page 2) in a UIScrollView that are snapped to by finger swipes. There is a UIPageControl there too. The UIScrollView starts off presenting page 0. What I want to do is present page 3 FIRST sometimes. How can I do this programmatically.

Simply setting currentPage (of UIPageControl) to the page number does nothing by the way.

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

烟火散人牵绊 2024-09-03 02:54:33

(来自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};

完美运行的效果,您确定pageControl出口在Interface Builder中设置正确吗(如果你正在使用它)。

如果问题是滚动视图不起作用,而不是页面控件。然后确保滚动视图的内容大小设置正确。

    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];

(From the PageControl example)

To go directly to a particular section of the scrollView use

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

I just implemented the same, e.g scrollview and page control and used the

pageControl.currentPage = {pageNumber};

which worked perfectly, are you sure that the pageControl outlet is set correctly in Interface Builder (if you're using it).

If the problem is that the scrollView is not working, and not the pageControl. Then make sure that you have the contentsize of the scrollView set correctly.

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

To this scrollview you then add the content to each section

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

Next page gets pushed over 1 screen width

page2ViewController.view.frame = CGRectMake(320, 0, 320, 200);
[scrollView addSubview:page2ViewController.view];
~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文