【问题标题】:iPhone UIScrollview PagesiPhone UIScrollview 页面
【发布时间】:2011-03-29 19:06:47
【问题描述】:

我有一个水平滚动视图:

[journal setPagingEnabled:YES];

我一直在使用自定义方法通过触摸按钮向右滚动

[journal setContentOffset:CGPointMake(320,0) animated:YES];

是否有现有的处理页面的方法以及如何找到它?

谢谢, 路

【问题讨论】:

  • “处理页面”是什么意思?
  • 你没有提到正在发生的事情(或没有发生的事情)在我看来应该可以工作......在每次按钮触摸时推进一个页面。实际发生了什么?
  • @Moshe,谢谢。 @Wex 它可以工作,但它有 4 页宽,我想要一种适合所有人的方法,而不是将第 1 页发送到 0,460 第 2 页到 320,460 等等。
  • Moshe,我回去接受更多答案,但有时没有可接受的答案。 68% 是目前必须保持的水平。
  • @rd42 如果答案不可接受,请不要接受。 :-)

标签: iphone objective-c uiscrollview


【解决方案1】:

如果您正在寻找类似[myScrollView scrollToPage:3] 的东西,那么不,没有内置方法。如果你真的想要一些明确的东西,也很容易自己动手。假设一个水平分页的 UIScrollView:

- (void)scrollUIScrollView:(UIScrollView*)scrollView toPage:(NSInteger)page {

    CGFloat pageWidth = scrollView.frame.size.width;
    CGFloat pageHeight = scrollView.frame.size.height;
    CGRect scrollTarget = CGRectMake(page * pageWidth, 0, pageWidth, pageHeight);
    [scrollView scrollRectToVisible:scrollTarget animated:YES];
}

好的,方法名称很糟糕,但这是基本思想。我在 UIScrollView 上的类别中可能会更好。

【讨论】:

  • 正是我刚开始寻找的。谢谢!
【解决方案2】:

这是 Matt Gallagher 在分页 UIScrollView 上的精彩 blog post。我在我的一个项目中使用它,需要进行一些调整,但其他方面都按预期工作。

【讨论】:

    【解决方案3】:

    UIPageControl 的工作方式类似于 iPhone 的 SpringBoard(主屏幕)的功能。

    【讨论】:

    • UIPageControl 只显示点。这不是很有趣。是 UIScrollView 承担了重任。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2015-03-25
    • 2011-07-13
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多