其他分享
首页 > 其他分享> > TableView

TableView

作者:互联网

TableView 继承于 ScrollView

--创建TableView

function PanelLobbyGameListUI:init_table_view()

    local _list_size = self:getContentSize()     self.m_tableView = cc.TableView:create(_list_size)   --设置视图大小     self.m_tableView:setAnchorPoint(cc.p(0, 0))  --设置锚点(默认就是 0,0 )     self.m_tableView:setPosition(cc.p(0, 0))   --设置位置  --设置滑动方向(水平滑动:cc.SCROLLVIEW_DIRECTION_HORIZONTAL,垂直滑动:cc.SCROLLVIEW_DIRECTION_VERTICAL)默认垂直滑动     self.m_tableView:setDirection(cc.SCROLLVIEW_DIRECTION_HORIZONTAL)     --设置排列方式(从小到大排列:cc.TABLEVIEW_FILL_TOPDOWN,从大到小排列:cc.TABLEVIEW_FILL_BOTTOMUP)默认从大到小(idx:3,2,1,0)     self.m_tableView:setVerticalFillOrder(cc.TABLEVIEW_FILL_TOPDOWN)     self.m_tableView:setDelegate()   --委托代理(不知道干啥用的)     self.m_tableView:setBounceable(false)   --设置滑动回弹效果,默认启用     self:addChild(self.m_tableView)
    self.m_tableView:registerScriptHandler(handler(self, self.cellSizeForTable), cc.TABLECELL_SIZE_FOR_INDEX)     self.m_tableView:registerScriptHandler(handler(self, self.tableCellAtIndex), cc.TABLECELL_SIZE_AT_INDEX)     self.m_tableView:registerScriptHandler(handler(self, self.onTouchRoomItem), cc.TABLECELL_TOUCHED)     self.m_tableView:registerScriptHandler(handler(self, self.numberOfCellsInTableView), cc.NUMBER_OF_CELLS_IN_TABLEVIEW)     self:table_view_reload_data() end   --设置cell的大小,可以根据idx区分(idx 最小为 0) function PanelLobbyGameListUI:cellSizeForTable(view, idx)     return CELL_SIZE_WIDTH + CELL_SPACE, CELL_SIZE_HEIGHT end   --创建cell用户可以在cell上添加子节点 function PanelLobbyGameListUI:tableCellAtIndex(view, idx)     local cellIndex = idx + 1     local cell = view:dequeueCell()     local _item_data = self.game_list[cellIndex]     if nil == cell then         local _room_item = NodeLobbyGameUnit.new()         _room_item:init(_item_data)         _room_item:setName("PanelLobbyGameListUIUnit")         _room_item:setPosition(cc.p(CELL_SIZE_WIDTH / 2, CELL_SIZE_HEIGHT / 2))         cell = cc.TableViewCell:new()         cell:addChild(_room_item)     else         local _room_item = cell:getChildByName("PanelLobbyGameListUIUnit")         _room_item:init(_item_data)     end     return cell end   --点击cell的时候回调 function PanelTrendAnimals:onTouchRoomItem(view, cell)     end   --指定创建cell的个数 function PanelTrendAnimals:numberOfCellsInTableView(view)     return table.nums(self.game_left_list) end   function PanelLobbyGameListUI:table_view_reload_data( is_force )     local _off_set = self.m_tableView:getContentOffset()     self.m_tableView:reloadData()
    if _off_set.x <= 0 and not is_force then         self.m_tableView:setContentOffset(cc.p(_off_set.x, 0))   --移动至组件最右边    --self.m_tableView:setContentOffset(cc.p(self.m_tableView:getViewSize().width - self.m_tableView:getContentSize().width, 0))     end end   参考:TableView的使用方法_pyf_914406232的博客-CSDN博客 参考:cocos2dx基础篇(15) 列表视图CCTableView - 穆玄琅 - 博客园 (cnblogs.com)

标签:TableView,tableView,item,cc,self,cell,--
来源: https://www.cnblogs.com/XuZhiwei001/p/15433975.html