如何将项目添加到 ScrollView 子项的顶部?
How to add item to top of ScrollView children?
在 Cocos Creator 中,我有一个 ScrollView
并像这样访问它的 content
:
Content: {
default: null,
type: cc.Node,
},
我想在子列表顶部添加一个新项目,当我这样做时:
var item = cc.instantiate(this.itemPrefab);
this.Content.insertBefore(item, this.Content.children[0]);
我收到一个错误消息,指出对象不支持 属性 或方法 insertBefore
。
我看过一些文档,
( https://cocos2d-x.org/reference/html5-js/V3.7/symbols/ccui.ScrollView.html )
( https://cocos2d-x.org/reference/html5-js/V3.0alpha/symbols/cc.Node.html )
我认为 'Content' 是传递给 Scrollview 的 ccNode 是否正确?
我能在 ccNode 上找到的最接近的方法是 addChild 和 reorderChild。
它们都支持 zOrder 方法,该方法确定它们的绘制顺序。它似乎可能会影响其在其父数组中的顺序。
(假设其他项目的 zOrder > 0):
你可以试试,
var item = cc.instantiate(this.itemPrefab);
this.Content.addChild(item, 0);
希望它能正常工作,您不必删除整个数组!
在 Cocos Creator 中,我有一个 ScrollView
并像这样访问它的 content
:
Content: {
default: null,
type: cc.Node,
},
我想在子列表顶部添加一个新项目,当我这样做时:
var item = cc.instantiate(this.itemPrefab);
this.Content.insertBefore(item, this.Content.children[0]);
我收到一个错误消息,指出对象不支持 属性 或方法 insertBefore
。
我看过一些文档,
( https://cocos2d-x.org/reference/html5-js/V3.7/symbols/ccui.ScrollView.html )
( https://cocos2d-x.org/reference/html5-js/V3.0alpha/symbols/cc.Node.html )
我认为 'Content' 是传递给 Scrollview 的 ccNode 是否正确?
我能在 ccNode 上找到的最接近的方法是 addChild 和 reorderChild。 它们都支持 zOrder 方法,该方法确定它们的绘制顺序。它似乎可能会影响其在其父数组中的顺序。
(假设其他项目的 zOrder > 0):
你可以试试,
var item = cc.instantiate(this.itemPrefab);
this.Content.addChild(item, 0);
希望它能正常工作,您不必删除整个数组!