有没有从ScrollView小部件中删除项目的方法?

时间:2013-10-29 13:16:39

标签: lua corona

或者我可以在将项目添加到ScrollView窗口小部件后访问该项目吗?

示例:

local scrollView = widget.newScrollView {...}
scrollView:insert(display.newImage("img1.png", 0, 0))
scrollView:insert(display.newImage("img2.png", 100, 0))

接下来我要删除scrollView中的第一张图片:

scrollView:remove(1) -- has no effect

更新:我的解决方案:

local scrollView = widget.newScrollView {...}
scrollView.content = {}
scrollView.content[#scrollView.content+1]= display.newImage("img1.png", 0, 0)
scrollView:insert(scrollView.content[#scrollView.content])
scrollView.content[#scrollView.content+1]= display.newImage("img2.png", 0, 0)
scrollView:insert(scrollView.content[#scrollView.content])
...
-- at some point I want to delete some item
scrollView.content[n]:removeSelf()
table.remove(scrollView.content, n)

4 个答案:

答案 0 :(得分:1)

你可以这样做:

local scrollView = widget.newScrollView {...}
local img_1 = display.newImage("img1.png", 0, 0)
local img_2 = display.newImage("img2.png", 100, 0)
scrollView:insert(img_1)
scrollView:insert(img_2)

然后:

img_1:removeSelf()
-- or
img_2:removeSelf()

继续编码....................:)

答案 1 :(得分:1)

要添加上述答案,您还可以使用:

display.remove( myImage )

在删除之前检查图像是否为零。

答案 2 :(得分:1)

调用display.remove()或对象的:removeSelf()将从显示器中删除该对象。如果要保留对象但不在scrollView中,只需将其插入另一个display.newGroup(),因为显示对象一次只能在一个显示组中。如果您在Storyboard中执行此操作,则可以将其插入到Storyboard的视图组中。如果你只是想摆脱它,调用display.remove()或对象的:removeSelf()就是你想要的,只记得把它的引用弄清楚。

答案 3 :(得分:-2)

使用此:

Object:removeSelf()

当我需要清理内存和纹理以及隐藏物体时,我已经在我的Android游戏中使用了好几次凤凰泪。

祝你好运!