如何在一段时间间隔内更改UIButton的颜色

时间:2012-04-11 07:44:08

标签: ios uibutton

如何在一段时间间隔内更改UIButton颜色,如5-6秒?

5 个答案:

答案 0 :(得分:6)

按照以下步骤操作:

  1. 将2张图片添加到资源文件夹(例如红色和蓝色)。

  2. 拖动XIB上的按钮,将其属性更改为自定义按钮,并设置其背景图像(至blue.png)。

  3. viewDidLoad方法中执行此操作:

    [NSTimer scheduledTimerWithTimeInterval:0.8 
                                     target:self 
                                   selector:@selector(changeColor:) 
                                   userInfo:nil 
                                    repeats:NO];
    
  4. 实施此方法:

    -(void)changeColor:(id)sender
    {
        [btnTemp setBackgroundImage:[UIImage imageNamed:@"red.png"] 
                           forState:UIControlStateNormal] ;
    }
    
  5. 这是找到的好方法。

答案 1 :(得分:3)

类似的东西:

  [button setBackgroundColor:[UIColor coloryouneed]];
  [[NSRunLoop currentRunLoop] runUntilDate:[NSDate dateWithTimeIntervalSinceNow:5]];
  [button setBackgroundColor:[UIColor previousColor]];

答案 2 :(得分:2)

在.h文件中创建NSTimer的属性,而不是在.m文件中写下代码

-(id)initWithNibName:(NSString *)nibNameOrNil bundle:(NSBundle *)nibBundleOrNil

{

self = [super initWithNibName:nibNameOrNil bundle:nibBundleOrNil];

    if (self) {

self.timer = [NSTimer scheduledTimerWithTimeInterval:5.0 target:self selector:@selector(changebtncolor) userInfo:nil repeats:YES];

    }

    return self;
}

现在你可以在changebtncolor方法中改变颜色

答案 3 :(得分:1)

你是NSTimer。将颜色设置为按钮。 [button setBackgroundColor:[UIColor redColor]];。 安排NSTimer重置它。

[NSTimer timerWithTimeInterval:5 target:self selector:@selector(resetColor) userInfo:nil repeats:NO];

答案 4 :(得分:1)

创建一个更改颜色的线程。使用sleep(randomValue);可以创建间隔。