Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/ios/98.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Ios 是否将滚动应用于整个屏幕?_Ios_Objective C_Sprite Kit_Infinite Scroll - Fatal编程技术网

Ios 是否将滚动应用于整个屏幕?

Ios 是否将滚动应用于整个屏幕?,ios,objective-c,sprite-kit,infinite-scroll,Ios,Objective C,Sprite Kit,Infinite Scroll,嗨,我刚刚在我的应用程序中添加了无休止的垂直滚动功能,但我不知道如何将其调整到屏幕大小。附上我的意思的照片。任何帮助都将不胜感激 这是我的密码 @implementation GameScene { SKNode* _bglayer; SKNode* _gamelayer; SKNode* _HUDlayer; NSTimeInterval* _dt; NSTimeInterval* _lastUpdateTime; } -(void)didMov

嗨,我刚刚在我的应用程序中添加了无休止的垂直滚动功能,但我不知道如何将其调整到屏幕大小。附上我的意思的照片。任何帮助都将不胜感激

这是我的密码

@implementation GameScene
{
    SKNode* _bglayer;
    SKNode* _gamelayer;
    SKNode* _HUDlayer;
    NSTimeInterval* _dt;
    NSTimeInterval* _lastUpdateTime;


}

-(void)didMoveToView:(SKView *)view {
    /* Setup your scene here */
    [self addChild:[self createCharacter] ];
    [self performSelector:@selector(createTile) withObject:nil afterDelay:2.0];

    _bglayer =[SKNode node];
    [self addChild:_bglayer];
    _gamelayer =[SKNode node];
    [self addChild:_gamelayer];
    _HUDlayer =[SKNode node];
    [self addChild:_HUDlayer];

    SKTexture* backgroundTexture=[SKTexture textureWithImageNamed:@"wallpaper1"];


    SKAction* moveBg =[SKAction moveByX:0 y:-backgroundTexture.size.height*2 duration:0.01*backgroundTexture.size.height];

    SKAction *resetBg =[SKAction moveByX:0 y:backgroundTexture.size.height*2 duration:0];
    SKAction *moveBackgroundForever =[SKAction repeatActionForever:[SKAction sequence:@[moveBg,resetBg]]];

    for (int i=0; i<2 +self.frame.size.height/(backgroundTexture.size.height*2);++i){
        SKSpriteNode* sprite = [SKSpriteNode spriteNodeWithTexture:backgroundTexture];

        [sprite setScale:1.0];
        sprite.zPosition=-100;
        sprite.anchorPoint=CGPointZero;
        sprite.position=CGPointMake(350, i*sprite.size.height);
        [sprite runAction:moveBackgroundForever];
        [_bglayer addChild:sprite];

    }
}
@实现游戏场景
{
SKNode*bgu层;
SKNode*_游戏玩家;
SKNode*_图层;
Ntimeinterval*_dt;
NSTimeInterval*\u lastUpdateTime;
}
-(void)didMoveToView:(SKView*)视图{
/*在这里设置场景*/
[self addChild:[self createCharacter]];
[自执行选择器:@selector(createTile)with object:nil afterDelay:2.0];
_bglayer=[SKNode];
[self addChild:bglayer];
_游戏层=[SKNode];
[self addChild:_gamelayer];
_HUDlayer=[SKNode];
[self addChild:_HUDlayer];
SKTexture*backgroundTexture=[SKTexture TextureWithimageName:@“Wallper1”];
SKAction*moveBg=[SKAction moveByX:0 y:-backgroundTexture.size.height*2持续时间:0.01*backgroundTexture.size.height];
SKAction*resetBg=[SKAction moveByX:0 y:backgroundTexture.size.height*2 duration:0];
SKAction*moveBackgroundForever=[SKAction repeatActionForever:[SKAction sequence:@[moveBg,resetBg]];

对于(int i=0;i您需要在此处根据需要在滚动视图中显示的内容数量设置内容视图高度

e、 g:如果需要在scroll view中显示5个视图,则需要将scroll view的内容大小设置为最后一个对象的5*viewHeight*yPos


但是滚动的框架应该是{0,0},{self.view.frame.size.width,self.view.frame.size.height},而内容大小可以是{3201000}或{320500},其中内容大小的高度和宽度可以大于滚动视图的框架。

尝试:
\u bglayer.frame=CGRectMake(0,0,[[UIScreen mainScreen].bounds.size.width,[[UIScreen mainScreen].bounds.size.height);
当您初始化时,它会给我错误并且生成失败。请在我声明SKNode*\bglayer是正确的位置之后等待?(抱歉,我是新手,非常困惑)若要使视图完全覆盖其superview,无需自动布局,请将视图的边框设置为superview的边界。在“自动布局”中,将所有四个边约束设置为零。