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( myImage )

これは、画像を削除する前に、画像が nil でないかどうかをチェックします。

于 2013-10-29T19:20:50.593 に答える
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() またはオブジェクトの:removeSelf() を呼び出すと、ディスプレイ階層からオブジェクトが削除されます。表示オブジェクトは一度に 1 つの表示グループにしか入れることができないため、オブジェクトを保持したいが、scrollView には入れたくない場合は、単に別の display.newGroup() に挿入することができます。ストーリーボードでこれを行う場合は、ストーリーボードのビュー グループに挿入できます。単純にそれを取り除きたい場合は、display.remove() またはオブジェクトの :removeSelf() を呼び出す必要があります。それへの参照を nil アウトすることを忘れないでください。

于 2013-11-04T01:45:43.290 に答える
-2

これを使って:

Object:removeSelf()

メモリとテクスチャをクリアし、オブジェクトを非表示にする必要があるときに、Android ゲームのフェニックスの涙で何度か使用しました。

幸運を!

于 2014-03-03T05:25:04.613 に答える