ccgui
Version:
83 lines (69 loc) • 2.48 kB
JavaScript
/**
* Created by Huabin LING on 1/2/14.
*/
var TableViewTest = GuiTest.extend({
ctor:function () {
this._super();
var winSize = cc.Director.getInstance().getWinSize();
// Create a horizontal table view and pass this as its data source
var tableView = cc.TableView.create(this, cc.size(600, 60));
tableView.setDirection(cc.SCROLLVIEW_DIRECTION_HORIZONTAL);
tableView.setPosition(20, winSize.height / 2 - 150);
// Set the scroll event and touch event delegate
tableView.setDelegate(this);
this.addChild(tableView);
tableView.reloadData();
// Create a vertical table view and pass this as its data source
tableView = cc.TableView.create(this, cc.size(60, 350));
tableView.setDirection(cc.SCROLLVIEW_DIRECTION_VERTICAL);
tableView.setPosition(winSize.width - 150, winSize.height / 2 - 150);
// Set the scroll event and touch event delegate
tableView.setDelegate(this);
tableView.setVerticalFillOrder(cc.TABLEVIEW_FILL_TOPDOWN);
this.addChild(tableView);
tableView.reloadData();
return true;
},
// Scroll view delegate functions
scrollViewDidScroll:function (view) {
},
scrollViewDidZoom:function (view) {
},
tableCellTouched:function (table, cell) {
cc.log("cell touched at index: " + cell.getIdx());
},
tableCellSizeForIndex:function (table, idx) {
if (idx == 2) {
return cc.size(100, 100);
}
return cc.size(60, 60);
},
// Table cell data source
tableCellAtIndex:function (table, idx) {
var strValue = idx.toFixed(0);
var cell = table.dequeueCell();
var label;
if (!cell) {
cell = new cc.TableViewCell();
var sprite = cc.Sprite.create(res.Icon_png);
sprite.setAnchorPoint(0,0);
sprite.setPosition(0, 0);
cell.addChild(sprite);
label = cc.LabelTTF.create(strValue, "Helvetica", 20.0);
label.setPosition(0,0);
label.setAnchorPoint(0,0);
label.setTag(123);
cell.addChild(label);
} else {
label = cell.getChildByTag(123);
label.setString(strValue);
}
return cell;
},
numberOfCellsInTableView:function (table) {
return 25;
}
});
TableViewTest.create = function () {
return new TableViewTest();
};