Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/objective-c/26.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

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/cocoa/3.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
Objective c 根据时间切换背景_Objective C_Ios8_Xcode6 - Fatal编程技术网

Objective c 根据时间切换背景

Objective c 根据时间切换背景,objective-c,ios8,xcode6,Objective C,Ios8,Xcode6,因此,我查看了堆栈溢出,了解了如何使用IF语句和NSDateComponents根据当前时间切换背景图像: NSDateComponents *components = [NSDateComponents new]; //AM NSInteger Hour06 = 6; //1EarlyMorning NSInteger Hour08 = 8; //2Morning NSInteger Hour11 = 11; //3LateMorning //PM NSInteger Hour12 = 12;

因此,我查看了堆栈溢出,了解了如何使用IF语句和NSDateComponents根据当前时间切换背景图像:

NSDateComponents *components = [NSDateComponents new];
//AM
NSInteger Hour06 = 6; //1EarlyMorning
NSInteger Hour08 = 8; //2Morning
NSInteger Hour11 = 11; //3LateMorning
//PM
NSInteger Hour12 = 12; //4Afternoon
NSInteger Hour16 = 16; //5LateAfternoon
NSInteger Hour18 = 18; //6Evening
NSInteger Hour20 = 20; //7LateEvening
NSInteger Hour21 = 21; //8Night
NSInteger Hour23 = 23; //9LateNight


if (components.hour < Hour18)
{
    self.backgroundImage = [SKSpriteNode spriteNodeWithImageNamed:@"6Evening"];
    self.backgroundImage.position = CGPointMake(self.size.width/2, self.size.height/2);
    self.backgroundImage.zPosition = 0.0; //Default bottom position

    [self addChild:self.backgroundImage];
}
NSDateComponents*components=[NSDateComponents new];
//上午
NSInteger小时06=6//清晨
NSInteger小时08=8//2早晨
NSInteger小时11=11//凌晨3点
//首相
NSInteger小时12=12//下午4点
NSInteger小时16=16//下午晚些时候
NSInteger小时18=18//6晚上
NSInteger小时20=20//晚上7点
NSInteger小时21=21//8晚
NSInteger小时23=23//9深夜
如果(组件。小时<小时18)
{
self.backgroundImage=[SKSpriteNode spritenodewhichimagenamed:@“6night”];
self.backgroundImage.position=CGPointMake(self.size.width/2,self.size.height/2);
self.backgroundImage.zPosition=0.0;//默认底部位置
[self addChild:self.backgroundImage];
}

但形象没有改变。我读过这篇文章&也没用。有人能告诉我我错过了什么吗?

我的自我&YvesLeBorg找到了答案!如果您使用的是SKView的due-to-Sprite工具包,则以下功能有效:

-(void)background
{

    NSDateComponents *components = [NSDateComponents new];
    NSInteger Hour18 = 18; //6Evening


    if (components.hour > Hour18)
    {
        self.backgroundImage = [SKSpriteNode spriteNodeWithImageNamed:@"6Evening"];
        self.backgroundImage.position = CGPointMake(self.size.width/2, self.size.height/2);
        self.backgroundImage.zPosition = 0.0; //Default bottom position

        [self addChild:self.backgroundImage];
    }
}

你的代码有点让人困惑-你能展示更多吗?什么是自我?UIView?是的,我忘了提到这是在SKView场景中完成的,所以是SKView(精灵套件游戏)。你的意思是:如果(组件.hour>Hour18)。。。如果有人需要帮助,我也会在下面贴出答案。