我使用Spritebuilder开发cocos2d应用程序。我想以编程方式创建一个CCScrollView scroll
来加载我用SpriteBuilder创建的图层Shop.ccb
。 Shop.ccb
只是一个包含一些UI元素的CCNode。之前,我曾经只是在Spritebuilder中创建它,但现在我需要通过将scroll
添加到父容器中来实现。
我以前是怎么做的:
CCScrollView scroll
和CCNode Shop.ccb
现在,我想以编程方式进行,这就是我遇到的问题。
到目前为止,这是我的代码:
CCNode *shopNode = [CCBReader loadAsScene:@"Shop"];
[shopNode setContentSizeInPoints:(CGSizeMake(320, 1000))];
CCScrollView *scroll = [[CCScrollView alloc]initWithContentNode:shopNode];
[scroll setContentSizeInPoints:(CGSizeMake(320.0, 370.0))];
[scroll setHorizontalScrollEnabled:NO];
[scroll setPosition:(CGPointMake(0, 70))];
[scroll setScrollPosition:(CGPointMake(0, 370))];
[[CCDirector sharedDirector].runningScene addChild:scroll];
当我运行程序时,我无法滚动。它不允许我向上或向下滚动,即使未禁用垂直滚动。当我删除[scroll setContentSizeInPoints:(CGSizeMake(320.0, 370.0))];
时,它才会让我上下滚动。此外,它的大小不正确。它不限于320x370区域,占据整个屏幕。关于我在这里做错了什么想法?谢谢。
答案 0 :(得分:1)
尝试在创建之后和设置其属性(位置和内容大小)之前将滚动节点添加到runningScene。