Springboard(iOS 中的水平翻页效果)

469
投票支持!

这是一个使用 Corona 的 scrollView 组件实现的简洁而强大的 springboard。
它支持两种触摸事件:快速点击和翻页,或者慢速页面拖动和释放。

包含内容

  • springboard 类 (springboard.lua)
  • 一个可运行的示例,带有 3 个页面和像 iOS 那样的更新页面点 (main.lua)

简而言之

创建一个新的 springboard 对象

board = springboard.new(displayGroup, width, height, pageTotal, callback, params)
  • displayGroup: 必须将 board 插入到的 displayGroup (更改此组的 x/y 来移动你的 springboard)
  • width/height: 单个页面的宽度和高度
  • pageTotal: 可以翻阅的页面总数
  • callback: 每次 springboard 更改页面时调用的函数
  • params: 可选表,可以包含 'backgroundColor' (rgb 表,如果未设置则透明) 和 'time' (翻页动画的时间,200 为标准) 的值

springboard 属性

  • board.page : 返回当前选中的页面 (介于 1 和 pageTotal 之间)
  • board.view : 返回 scrollView 组件

向 springboard 添加内容

board.view:insert(content)

其中 'content' 指的是显示对象或组

手动滚动到页面

board:goToPage(page, time)
  • page: 介于 1 和 pageTotal 之间的数字
  • time: 过渡时间,设置为 0 表示立即 (无过渡)

注意事项

此 springboard 完全基于 scrollView 组件,请参阅文档了解其限制:https://docs.solar2d.cn/api/library/widget/newScrollView.html
如果在 scrollView 中使用按钮时遇到问题,请参阅此文档:https://docs.solar2d.cn/api/type/ScrollViewWidget/takeFocus.html

适用于 Corona 构建版本 #: 
2014.2393
贡献者: 
Wim Coosemans