function PulldownMenu:initTableView()
self.m_TableView = cc.TableView:create(cc.size(130,210))
self.m_TableView:setPosition(0,5)
self.m_img_PullBg:addChild(self.m_TableView,5)
self.m_TableView:setDirection(cc.SCROLLVIEW_DIRECTION_VERTICAL)
self.m_TableView:setVerticalFillOrder(cc.TABLEVIEW_FILL_TOPDOWN)
self.m_TableView:setBounceable(true)
self.m_TableView:setDelegate()
self.m_TableView:registerScriptHandler(function(view)
end,cc.SCROLLVIEW_SCRIPT_SCROLL)
self.m_TableView:registerScriptHandler(function(view)
end,cc.SCROLLVIEW_SCRIPT_ZOOM)
self.m_TableView:registerScriptHandler(self.tableView_cell_Index,cc.TABLECELL_SIZE_AT_INDEX)
self.m_TableView:registerScriptHandler(self.tableView_cell_Touched,cc.TABLECELL_TOUCHED)
self.m_TableView:registerScriptHandler(self.tableView_cell_Size,cc.TABLECELL_SIZE_FOR_INDEX)
self.m_TableView:registerScriptHandler(self.tableView_cell_Num,cc.NUMBER_OF_CELLS_IN_TABLEVIEW)
self.m_TableView:reloadData()
end
function PulldownMenu.tableView_cell_Index(table, idx)
local cell = table:cellAtIndex(idx)
if nil==cell then
cell = cc.TableViewCell:new()
local spr_cellBg = cc.Scale9Sprite:create("ccs/ui/bubble_small_.png")
spr_cellBg:setPreferredSize(cc.size(130,40))
spr_cellBg:setAnchorPoint(cc.p(0,0))
cell:addChild(spr_cellBg)
spr_cellBg:setTag(123)
local lab = cc.Label:createWithSystemFont("aaa "..tostring(idx),"arial",20,cc.size(130,40),cc.TEXT_ALIGNMENT_LEFT,cc.VERTICAL_TEXT_ALIGNMENT_TOP)
lab:setPosition(60,10)
spr_cellBg:addChild(lab,10)
lab:setTextColor(cc.c3b(150,150, 0))
lab:setTag(1234)
end
return cell
end
function PulldownMenu.tableView_cell_Touched(table,cell)
print("touch "..tostring(cell:getIdx()))
end
function PulldownMenu.tableView_cell_Size(table,idx)
return 40,40
end
function PulldownMenu.tableView_cell_Num()
return 12
end
```
以上是代码
现象:
A:
B:
问题:
这是bug还是我哪个地方写错了?为什么修改的是size的width值,结果改变的是cell的height值
这个是C++代码里面把lua的值传给C++的时候,取值的顺序写反了
virtual Size tableCellSizeForIndex(TableView *table, ssize_t idx) override 函数里面
width = (float)tolua_tonumber(L, -1, 0);
lua_pop(L, 1);
height = (float)tolua_tonumber(L, -1, 0);
lua_pop(L, 1);
width跟height反一下就好了
:801::800: