如何获得一个闪烁的按钮? (两张交替图片)

时间:2010-01-03 08:21:01

标签: iphone objective-c xcode

我想要一个闪烁的按钮。实际上我的按钮看起来像这样:

[redButton setImage:[UIImage imageNamed:@"Button1.png"] forState: UIControlStateNormal];
[redButton setImage:[UIImage imageNamed:@"ButtonPressed.png"] forState: UIControlStateHighlighted];

现在我想在Button1.png到Button2.png之间每秒将正常状态下的Buttonpicture更改为Button1.png等等......我该怎么做?

感谢您的帮助,抱歉我的英语不好。

2 个答案:

答案 0 :(得分:12)

您可以通过安排NSTimer来更改图像:

NSTimer* timer = [NSTimer scheduledTimerWithTimeInterval: 1.0
                                         target: self
                                       selector: @selector(toggleButtonImage:)
                                       userInfo: nil
                                        repeats: YES];  

以下方法更改了图片(您还需要一个bool实例变量来保持切换状态)

- (void)toggleButtonImage:(NSTimer*)timer
{
    if(toggle)
    {
        [test setImage:[UIImage imageNamed:@"Button1.png"] forState: UIControlStateNormal];
    }
    else 
    {
        [test setImage:[UIImage imageNamed:@"ButtonPressed.png"] forState: UIControlStateNormal];
    }
    toggle = !toggle;
}

答案 1 :(得分:-1)

是否无法使用动画GIF?