2010-04-01 69 views
4

我目前正在使用iPhone SDK。每秒更换一次以上的UIButton背景图片

我有一个NSTimer更改UIButton的背景图像。 一旦完成,它将再次触发相同的动作(重置NSTimer)达预定次数。

我的问题是,如果我的NSTimer设置为每秒执行一次以上。 (0.75,说)背景图片不会改变。

我正在使用NSLog检查事件是否触发。但按钮图像将保持其原始状态。

有什么办法可以每秒更换一次背景图片吗?

这是我的计时器:

[NSTimer scheduledTimerWithTimeInterval: tmpLvlSpeed 
            target: self 
            selector: @selector(simPressRed:) 
            userInfo: nil 
            repeats: NO]; 

和代码来改变形象:

[btnRed setImage:[UIImage imageNamed:@"btn_red.png"] forState:UIControlStateNormal]; 

如果tmpLvlSpeed小于1.0,按钮图像永远不会改变。即使simPressRed功能仍会触发。

任何线索?有没有可以修改的更新周期?

回答

3

您是否尝试过使用setNeedsDisplay

[button setNeedsDisplay]; 
+0

谢谢!那就是诀窍。 – 2010-04-04 15:17:44

0

你有多少张图片?从你给我们的东西,你只有一个形象,所以没有形象不会改变。请发布您的代码,以便我们可以进一步帮助您

+0

这些按钮是使用InterfaceBuilder创建的,所以我只有一行代码来更改图像。 – 2010-04-04 15:17:04

+0

好的,但你有多少张图片? – 2010-04-04 21:43:16

+0

它只是两个。 原始状态,然后是我正试图改变它的活动状态。 – 2010-04-05 00:22:58