-- 加载列表测试 function UIBagController:onLoadTest() self.goodsprop = DB.getTable("goodsprop"); local itemAmount = 50; -- 计算高度 local nAmount = 0; if itemAmount % self.m_nRColumn == 0 then nAmount = math.modf( itemAmount / self.m_nRColumn ); else nAmount = math.modf( itemAmount / self.m_nRColumn + 1 ); end local nHeigh = nAmount * self.m_nHeigh; self.m_nInnerHeigh = nHeigh; local size = self.scrollPanel:getInnerContainerSize(); if nHeigh < size.height then nHeigh = size.height; end self.scrollPanel:setInnerContainerSize(CCSizeMake(size.width, nHeigh)); --print("==宽高==" .. size.width .. " " .. nHeigh) local nWidth = size.width; local nPosX = 0; local nPosY = 0; local nIndex = 0; nHeigh = nHeigh - self.m_nHeigh; local nItemWidth = size.width / self.m_nRColumn; if itemAmount ~= nil then self.ScheduleId = CCDirector:sharedDirector():getScheduler():scheduleScriptFunc(function ( ) print("nIndex " .. nIndex) print("itemAmount " .. itemAmount) if nIndex >= itemAmount then CCDirector:sharedDirector():getScheduler():unscheduleScriptEntry(self.ScheduleId); end local info = self.goodsprop[nIndex + 1]; local item = self.ImageView_item:clone(); if nIndex % self.m_nRColumn == 0 then nPosY = nHeigh - math.modf(nIndex / self.m_nRColumn) * self.m_nHeigh; local itemSize = item:getSize(); nPosY = nPosY + itemSize.height / 2; end nPosX = self.m_nPosXStart + math.ceil(nIndex % self.m_nRColumn) * nItemWidth; item:setPosition(ccp(nPosX, nPosY)); item:setVisible(true); self.scrollPanel:addChild(item); self:loadItem(item); nIndex = nIndex + 1; end, 0, false); end end -- 加载数据 function UIBagController:loadItem(uiwidget) local imgItem = tolua.cast(UIHelper:seekWidgetByName(uiwidget, "ImageView_Item"), "ImageView"); imgItem:loadTexture(ItemM:getIconPath(21419)) end
时间: 2024-10-11 14:47:47