|
@@ -27,7 +27,7 @@ export default class TableView extends cc.Component {
|
|
|
/** item预制体组 */
|
|
/** item预制体组 */
|
|
|
private item: Array<any> = null;
|
|
private item: Array<any> = null;
|
|
|
/** 滑动列表的内容节点 */
|
|
/** 滑动列表的内容节点 */
|
|
|
- private content: any = null;
|
|
|
|
|
|
|
+ private content: cc.Node = null;
|
|
|
/** 列表高 */
|
|
/** 列表高 */
|
|
|
private layerHeight: any = null;
|
|
private layerHeight: any = null;
|
|
|
/** ? */
|
|
/** ? */
|
|
@@ -94,7 +94,7 @@ export default class TableView extends cc.Component {
|
|
|
// }
|
|
// }
|
|
|
// cc.log(this.testTime(0));// 消耗计时
|
|
// cc.log(this.testTime(0));// 消耗计时
|
|
|
this.initItem();
|
|
this.initItem();
|
|
|
- this.getItemPos(0);
|
|
|
|
|
|
|
+ this.initItemPos(0);
|
|
|
this.scrollView.node.on('scrolling', this.callback, this);
|
|
this.scrollView.node.on('scrolling', this.callback, this);
|
|
|
// cc.log('tableView结束:' + this.testTime());
|
|
// cc.log('tableView结束:' + this.testTime());
|
|
|
}
|
|
}
|
|
@@ -107,7 +107,7 @@ export default class TableView extends cc.Component {
|
|
|
|
|
|
|
|
}
|
|
}
|
|
|
|
|
|
|
|
- private getItemPos(index: number) {
|
|
|
|
|
|
|
+ private initItemPos(index: number) {
|
|
|
let item_data_count = this.itemData.length;
|
|
let item_data_count = this.itemData.length;
|
|
|
for (let i = index; i < item_data_count; i++) {
|
|
for (let i = index; i < item_data_count; i++) {
|
|
|
let obj: any = {}
|
|
let obj: any = {}
|
|
@@ -295,7 +295,7 @@ export default class TableView extends cc.Component {
|
|
|
}
|
|
}
|
|
|
|
|
|
|
|
/** 滚动到底部 */
|
|
/** 滚动到底部 */
|
|
|
- private itemMoveDown(num: number) {
|
|
|
|
|
|
|
+ public itemMoveDown(num: number) {
|
|
|
if (num < 0 || this.firstItemIndex - 1 > num || num + 1 > this.itemData.length) {
|
|
if (num < 0 || this.firstItemIndex - 1 > num || num + 1 > this.itemData.length) {
|
|
|
return;
|
|
return;
|
|
|
}
|
|
}
|
|
@@ -348,6 +348,15 @@ export default class TableView extends cc.Component {
|
|
|
}
|
|
}
|
|
|
|
|
|
|
|
/**
|
|
/**
|
|
|
|
|
+ * 内容滚动到指定下标位置
|
|
|
|
|
+ * @param index 条目index
|
|
|
|
|
+ */
|
|
|
|
|
+ public contentMoveByIndex(index: number) {
|
|
|
|
|
+ let pos_y = this.itemPosMap.get(index).startPos;
|
|
|
|
|
+ this.scrollView.scrollToOffset(new cc.Vec2(this.content.x, pos_y), 0.5);
|
|
|
|
|
+ }
|
|
|
|
|
+
|
|
|
|
|
+ /**
|
|
|
* 得到相关位置的排序index
|
|
* 得到相关位置的排序index
|
|
|
* 方法待验证,可能有问题
|
|
* 方法待验证,可能有问题
|
|
|
* @param pos 坐标
|
|
* @param pos 坐标
|
|
@@ -368,7 +377,7 @@ export default class TableView extends cc.Component {
|
|
|
*/
|
|
*/
|
|
|
public addItem(obj: any) {
|
|
public addItem(obj: any) {
|
|
|
this.itemData.push(obj);
|
|
this.itemData.push(obj);
|
|
|
- this.getItemPos(this.itemData.length - 1);
|
|
|
|
|
|
|
+ this.initItemPos(this.itemData.length - 1);
|
|
|
let endPos = this.itemPosMap.get(this.itemData.length - 1).endPos;
|
|
let endPos = this.itemPosMap.get(this.itemData.length - 1).endPos;
|
|
|
if (endPos - this.layerHeight > 0) {
|
|
if (endPos - this.layerHeight > 0) {
|
|
|
let startPos = endPos - this.layerHeight;
|
|
let startPos = endPos - this.layerHeight;
|
|
@@ -416,7 +425,7 @@ export default class TableView extends cc.Component {
|
|
|
this.itemData.splice(i, 1);
|
|
this.itemData.splice(i, 1);
|
|
|
const item_data_count = this.itemData.length;
|
|
const item_data_count = this.itemData.length;
|
|
|
if (item_data_count <= 0) return;
|
|
if (item_data_count <= 0) return;
|
|
|
- this.getItemPos(item_data_count - 1);
|
|
|
|
|
|
|
+ this.initItemPos(item_data_count - 1);
|
|
|
|
|
|
|
|
//改变this.itemArr的内容
|
|
//改变this.itemArr的内容
|
|
|
for (let j = 0; j < this.itemArr.length; j++) {
|
|
for (let j = 0; j < this.itemArr.length; j++) {
|