setImage:forState:在iOS 3.2中不起作用

时间:2011-04-01 16:05:25

标签: ios iphone-sdk-3.2

预期的行为是在点击播放动作时更改图像(从播放到暂停以及从暂停到播放)。这在版本4.x中按预期工作。在版本3.2中,setImage不起作用,这意味着setImage不设置图像。调用imageForState:UIControlStateNormal在3.2版本中返回null。有什么想法吗?

@interface TestViewController : UIViewController {
  IBOutlet UIButton *playButton;
  BOOL play;
}

- (IBAction) play:(id)sender;

@end


@implementation TestViewController

- (IBAction) play:(id)sender {  
  if (play == YES) {
    [playButton setImage:[UIImage imageNamed:@"pause"] forState:UIControlStateNormal];    
   play = NO;
  } else {
    [playButton setImage:[UIImage imageNamed:@"play"] forState:UIControlStateNormal];    
    play = YES;
  }
  //[playButton imageForState:UIControlStateNormal]

}

@end

2 个答案:

答案 0 :(得分:0)

您的代码看起来是正确的,您是否检查过您的XIB文件中的IBOutlet已连接到按钮?

答案 1 :(得分:0)

UIImage的{​​{1}}带有扩展名的图片名称,即如果您更改了代码

imageNamed

[UIImage imageNamed:@"pause"]

您的代码将按照您的期望运作。