UIScrollView

环境 : VS2012 cocos2dx 2.2.1 cocostudio 用的是 1.2.0.1

因为 cocos2dx 2.2.1 没有UIListView,,所以只能用 UIScrollView

问题:UIScrollView 怎么添加很多的子控件?如果有50个项,比如我在UI编辑器中添加3个,然后我滚动的时候,代码中怎么添加另外的47个?

像下面这样,就是有很多类似的项,比如有 50个项,在UI编辑器中应该怎么添加?不可能把50个都加进来吧。。。那样的话,那得多大的资源啊。 不是 一、两个啊。。。

大家一定要看清我的问题啊。。。回答的话,最好完整点,具体点。。。不要太宽泛了。。

有做过类似的,欢迎回答啊!!!

UIListview适合做一个模板,然后剩下的用程序复制修改。虽然也可以一个一个的在编辑器中添加,但是数据量大的话就不行了

环境 : VS2012 cocos2dx 2.2.1 cocostudio 用的是 1.2.0.1

因为 cocos2dx 2.2.1 没有UIListView,,所以只能用 UIScrollView

我说了,我这个版本不能用 UIListView 啊。。。只能用 UIScrollView 啊

Scrollview可以自己复制,并计算最后的坐标。你需要做的仅仅是在编辑器中做一个模板,如果完全在编辑器中复制控件会加重解析的负担。

UIScrollView 在代码中怎么复制呢? 能具体的写出来吗?

就是使用widget->copy()方法,每次复制一个panel,然后setposition()设置坐标。

CCObject* CCObject::copy()
{
return copyWithZone(0);
}

CCObject* CCCopying::copyWithZone(CCZone *pZone)
{
CC_UNUSED_PARAM(pZone);
CCAssert(0, “not implement”);
return 0;
}

没实现啊,直接崩掉。。。。

你是如何调用的呢?这个方法是UIWidget的方法。请对UI的控件使用。

m_pUILayout 是 UILayout 的指针

m_pUILayout->copy();

如果不是这样调用的话,请问怎么调用?

这个m_pUILayout是整个画布么?还是只是一个控件或者panel?

复制后请设置新的位置,并保证层级是可见的。否则会和原有控件重叠在一起导致不能判断是否复制成功。

不是整个画布,是一个Panel

是用我 红色 画起来的那个层容器