6

或者我可以在将项目添加到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

4 回答 4

1

调用 display.remove() 或对象的:removeSelf() 将从显示层次结构中删除对象。如果您想保留对象但不在您的 scrollView 中拥有它,您可以简单地将其插入另一个 display.newGroup() 因为显示对象一次只能在一个显示组中。如果您在情节提要中执行此操作,则可以将其插入情节提要的视图组中。如果你只是想摆脱它,调用 display.remove() 或对象的 :removeSelf() 就是你想要的,只要记住 nil 对它的引用。

于 2013-11-04T01:45:43.290 回答
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()

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

于 2013-10-29T18:06:14.243 回答
1

要添加到上面的答案,您还可以使用:

display.remove( myImage )

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

于 2013-10-29T19:20:50.593 回答
-2

用这个:

Object:removeSelf()

当我需要清理内存和纹理以及隐藏对象时,我在我的 Android 游戏凤凰眼泪中使用了几次。

祝你好运!

于 2014-03-03T05:25:04.613 回答