预期的行为是在点击播放动作时更改图像(从播放到暂停以及从暂停到播放)。这在版本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
答案 0 :(得分:0)
您的代码看起来是正确的,您是否检查过您的XIB文件中的IBOutlet已连接到按钮?
答案 1 :(得分:0)
UIImage
的{{1}}带有扩展名的图片名称,即如果您更改了代码
imageNamed
到
[UIImage imageNamed:@"pause"]
您的代码将按照您的期望运作。