在quick 3.3里面存在isItemInViewRect方法判断是否在可视区域,isItemInViewRect 源代码修改如下即可
function UIListView:isItemInViewRect(pos)
local item
if "number" == type(pos) then
item = self.items_[pos]
elseif "userdata" == type(pos) then
item = pos
end
if not item then
return
end
local bound = item:getBoundingBox()
local nodePoint = self.container:convertToWorldSpace(
cc.p(bound.x, bound.y))
bound.x = nodePoint.x
bound.y = nodePoint.y
local viewRectPos = self:convertToWorldSpace(cc.p(self.viewRect_.x,self.viewRect_.y))
local viewRect = cc.rect(viewRectPos.x,viewRectPos.y,self.viewRect_.width,self.viewRect_.height)
return cc.rectIntersectsRect(viewRect, bound)
end
源代码只把item座标转化成世界座标,但是没有将viewRect_转化成世界座标
参考自http://blog.csdn.net/chjh0540237/article/details/43986223