【发布时间】:2014-11-04 14:51:00
【问题描述】:
所以我查看了堆栈溢出,了解如何使用 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];
}
但图像没有改变。我读过这个Changing background according to time - Objective C 也没有帮助。谁能告诉我我错过了什么?
【问题讨论】:
-
你的代码有点混乱 - 你能展示更多吗?什么是自我?一个 UIView ?
-
是的,我忘了说这是在 SKScene 中完成的,所以是 SKView(Sprite Kit 游戏)。
-
你的意思是:如果 (component.hour > Hour18) ... 万一
-
是的:D 如果有人需要帮助,我也在下面发布了答案。
标签: objective-c ios8 xcode6