根据时间更改UILabel背景颜色

时间:2012-06-27 07:11:10

标签: objective-c xcode colors background uilabel

我正在使用Xcode和Objective C开发一个iPhone应用程序。

我想要实现的是根据一天中的时间更改不同标签的背景颜色。

我在XIB文件中设置了几个UILabel并设置了它们的背景颜色。在我的.m文件中,然后我设置了一个每3秒运行一次的动作。一段代码:

- (void)updateTime
{
    NSDate *currentTime = [NSDate date];
    NSDateFormatter *dateFormatter = [[NSDateFormatter alloc] init];
    [dateFormatter setDateFormat:@"HHmm"];
    NSString *resultTime = [dateFormatter stringFromDate: currentTime];

    if([resultTime compare:@"0819"] == NSOrderedDescending)
    { //IF THE TIME IS AFTER 0820AM
        if([resultTime compare:@"0850"] == NSOrderedAscending)
        { // IF THE TIME IS BEFORE 0850AM
            labelOne.backgroundColor = [[UIColor alloc] initWithRed:160 green:160
                                                           blue:160 alpha:1.0];     
        }
    }
    if([resultTime compare:@"0849"] == NSOrderedDescending)
    { 
        if([resultTime compare:@"0945"] == NSOrderedAscending)
        { 
            labelTwo.backgroundColor = [[UIColor alloc] initWithRed:160 green:160
                                                            blue:160 alpha:1.0];  
        }
    }

这似乎适用于更改背景颜色,但是,当if语句意味着返回false(它不在该时间段内)时,背景颜色不会更改回XIB文件中的颜色。

有人可以说明如何在一段时间内让不同的UILabel改变颜色。

0 个答案:

没有答案