【问题标题】:iPhone: scroll view with arbitrary page/"settling" boundaries?iPhone:具有任意页面/“解决”边界的滚动视图?
【发布时间】:2010-03-23 19:22:13
【问题描述】:

我试图弄清楚我是否可以通过一些技巧从 UIScrollView 中获得我想要的东西,或者我是否需要滚动我自己的滚动视图:

我想要滚动浏览行中有一系列项目。一个项目应始终在视图中居中,但其他项目应在任一侧可见。换句话说,我想要正常的滚动和边缘弹跳,但我想要用户结束触摸时的减速自然地停留在某个指定的停止点。 (其实现在想来,这种行为在这方面和coverflow很像。)

我知道 UIScrollView 并没有开箱即用,但是有没有人有关于如何做到这一点的建议,或者如果有人发现任何完成类似事情的代码(我不愿意重新实现所有减速和边缘反弹的数学)

谢谢!

【问题讨论】:

    标签: iphone uiscrollview


    【解决方案1】:

    这并没有太多的诡计。只需使用启用分页的UIScrollView。使其与您的一个项目的大小相同,并将其定位在您希望该项目出现的位置。接下来,禁用滚动视图上的“剪辑子视图”选项(在 IB 中或以编程方式),一切就绪。

    【讨论】:

    • 这是一个很好的建议——绝对没有想到这一点。但是,在这种情况下,只有“当前”项目可见的窗口是可触摸的。即使“轮播”中的其他项目可见,滚动视图也不知道它们在那里。我尝试设置一个透明的支持视图来抓取所有这些触摸并将它们发送到滚动视图,但滚动视图似乎并不感兴趣。想法?
    • 我通过在那里放置一些透明按钮来解决这个问题。如果用户点击那里,我让滚动视图显示下一个(或上一个)项目。在我使用它的地方非常直观。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2013-12-14
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2011-09-01
    • 2015-11-13
    相关资源
    最近更新 更多