TableView 类
继承 View
列表数据展示控件,内容可复用
该控件使用复用的方式加载列表数据,根据数据源组数个数进行回调。支持上拉加载更多,下拉刷新数据。在上拉加载更多数据时,建议必要使用reloadData进行数据刷新,要采用局部刷新的方式进行刷新,效率会更高。
@note 当cell的样式一致时,使用默认初始化方法即可,当cell样式较多时,要采用复用ID的形式进行初始化和赋值操作。另外,iOS默认展示滚动指示条,android默认不展示
变量
_priveta_class_name : string
name : string
方法
adapter
提供数据与view的绑定;提供点击等事件的回调
adapter提供了本组件的数据源,cell初始化,cell数据绑定,cell事件回调功能。
@note 建议TableViewAdapter初始化完后再对TableView进行设置,因为设置adapter会触发刷新,当初始化完毕后设置可以减少刷新次数
参数
- adapter : TableViewAdapter 数据与事件适配器
返回值
adapter
获取当前tableView绑定的adapter
返回值
loadThreshold
设置加载更多的阈值,默认为0,取值范围0~1
@note eg:0.5表示还剩一半屏幕高度的页面还未显示时,就触发setLoadingCallback回调
参数
- threshold : number 阈值,范围0~1
返回值
loadThreshold
获取当前预加载的阈值
返回值
- 阈值 : number
contentOffset
设置内容偏移量
@note contentOffset,即内容偏移量,我们把tableView内容的左上角坐标看做原点origin(0, 0),内容偏移量即为当前实现内容的左上角坐标pt与origin之间的差值contentOffset(pt.x - origin.x, pt.y - origin.y)
参数
- offset : Point pt: 内容偏移量坐标, 这里把tableView内容的左上角坐标看做原点origin(0, 0),pt即为相对origin的偏移量坐标
返回值
contentOffset
获取内容偏移量坐标
@note contentOffset,即内容偏移量,我们把tableView内容的左上角坐标看做原点origin(0, 0),内容偏移量即为当前实现内容的左上角坐标pt与origin之间的差值contentOffset(pt.x - origin.x, pt.y - origin.y)
返回值
- 内容偏移量坐标,这里把tableView内容的左上角坐标看做原点origin : Point 0, 0),pt即为相对origin的偏移量坐标
setScrollBeginCallback
设置开始滚动的回调
回调格式:
```
function(number x,number y)
---x:x轴坐标
---y:y轴坐标
end
```
参数
返回值
setScrollingCallback
设置滚动中的回调
回调格式:
```
function(number x,number y)
---x:x轴坐标
---y:y轴坐标
end
```
参数
返回值
setEndDraggingCallback
设置拖拽结束后的回调
回调格式:
```
function(number x,number y)
---x:x轴坐标
---y:y轴坐标
end
```
参数
返回值
setStartDeceleratingCallback
设置开始减速滚动回调
回调格式:
```
function(number x,number y)
---x:x轴坐标
---y:y轴坐标
end
```
参数
返回值
showScrollIndicator
设置是否展示滚动指示器
@note Android部分场景,指示器位置不能划到底部
参数
- show : boolean 默认为true
返回值
reloadData
重新回调所有的cell高度,并回调当前屏幕上cell的init和filData方法
@note 在数据量特别大的情况下,当数据量较大并且使用heightForCell回调高度时,注意涉及到需要计算的高度要使用lua table进行缓存
返回值
reloadAtRow
刷新某一行的数据
@note 动画效果仅ios有效,并且使用时请勿改变其他cell的内容,否则两端会有差异:android可以更新多个cell,ios只能更新单个
参数
- row : number 指定的行
- section : number 指定的组
- animated : boolean 是否展示动画
返回值
reloadAtSection
刷新某个组里所有行的数据
@note 动画效果仅ios有效,并且使用时请勿改变其他cell的内容,否则两端会有差异:android可以更新多个cell,ios只能更新单个
参数
- section : number 组数
- animated : boolean 是否展示动画
返回值
scrollToTop
滚动到控件的顶部
参数
- animated : boolean 是否动画滚动到顶部
返回值
scrollToCell
滚动到某个cell
参数
- row : number 行数
- section : number 组数
- animated : boolean 是否动画滚动
返回值
deleteCellAtRow
删除某行cell
参数
- row : number 行数
- section : number 组数
返回值
insertCellAtRow
在指定位置插入cell
参数
- row : number 行数
- section : number 组数
返回值
deleteCellsAtSection
删除指定位置的cell
参数
- section : number 组数
- startRow : number 开始行数
- endRow : number 结束行数
返回值
insertCellsAtSection
在指定位置插入cell
参数
- section : number 组数
- startRow : number 开始行数
- endRow : number 结束行数
返回值
insertRow
在指定位置插入cell
参数
- row : number 行数
- section : number 组数
- animated : boolean 是否动画执行
返回值
deleteRow
删除指定位置的cell
参数
- row : number 行数
- section : number 组数
- animated : boolean 是否动画执行
返回值
insertRowsAtSection
在指定位置范围插入cell
参数
- section : number 组数
- startRow : number 开始行数
- endRow : number 结束行数
- animated : boolean 是否执行动画
返回值
deleteRowsAtSection
在指定位置范围删除cell
参数
- section : number 组数
- startRow : number 开始行数
- endRow : number 结束行数
- animated : boolean 是否执行动画
返回值
isStartPosition
是否在最顶端
返回值
- 布尔值 : boolean
refreshEnable
设置是否开启下拉刷新功能
@note 需要确保对应刷新的handler已经添加,在刷新过程中关闭会导致视图抖动
参数
- enable : boolean 是否开启
返回值
refreshEnable
获取是否开启了下拉刷新功能,默认false
返回值
- 布尔值 : boolean
isRefreshing
获取当前是否正在刷新中
返回值
- 布尔值 : boolean
startRefreshing
开始刷新动作
返回值
stopRefreshing
停止刷新动作
返回值
setRefreshingCallback
设置触发了下拉刷新的回调
回调格式:
```
function()
end
```
参数
- callback : function()
返回值
loadEnable
设置是否开启上拉加载更多
@note 默认false,需要增加刷新对应的handler处理,在加载过程中关闭会导致视图抖动
参数
- enable : boolean 是否开启上拉加载更多
返回值
loadEnable
获取当前是否开启了上拉加载更多功能
返回值
- : boolean
isLoading
获取是否正在上拉加载中
返回值
- 布尔值 : boolean
stopLoading
停止加载更多的动作
返回值
noMoreData
触发没有更多数据,在TableView的底部会展示没有更多数据的提示
返回值
resetLoading
去除“没有更多数据”的状态,将状态变成普通状态
返回值
loadError
触发加载失败
该方法会触发上拉加载更多的加载失败提示,目前是空实现,无任何效果
返回值
setOffsetWithAnim
滚动到指定位置
@note iOS可用, android sdk version >= 1.5.0可用
参数
- offset : Point 指定位置坐标
返回值
setLoadingCallback
设置触发了加载更多的回调
回调格式:
```
function()
end
```
参数
- callback : function()
返回值
cellWithSectionRow
返回指定位置的cell, 只对屏幕内cell有效
参数
- section : number 组数
- row : number 行数
返回值
- 返回cell表 : table
visibleCells
返回当前屏幕展示的所有cell
返回值
- 返回当前屏幕所有cell的数组 : Array
setScrollEnable
设置是否可以滚动
参数
- enable : boolean 是否可以滚动
返回值
i_bounces
设置是否开启弹性效果
@note iOS私有方法,仅在必要时使用,使用时需判断平台
参数
- bounces : boolean true:默认值,拖拽有弹性效果 false:关闭弹性效果
返回值
i_bounces
获取是否开启弹性效果
@note iOS私有方法,仅在必要时使用,使用时需判断平台
返回值
- 是否开启弹性效果 : boolean
i_bounceVertical
设置是否开启垂直弹性效果
是否开启水平弹性效果,垂直排布时,用于处理ContentSize小于尺寸时的体验优化
@note iOS私有方法,仅在必要时使用,使用时需判断平台
参数
- bounces : boolean true:默认值,拖拽有弹性效果 false:关闭弹性效果
返回值
i_bounceVertical
获取是否开启垂直弹性效果
@note iOS私有方法,仅在必要时使用,使用时需判断平台
返回值
- 是否开启垂直弹性效果 : boolean