我有以下代码,当我调用此方法时,尽管资源中有图像,但它不会更改按钮的图像。
-(void)changeButton:(NSString*)button withURL:(NSString*)url {
timetableURL = url;
UIImage *btnImage;
if ([button isEqual:@"Browser"]) {
btnImage = [UIImage imageNamed:@"browser-button.png"];
[safariBtn addTarget:self action:@selector(onSafariButtonPress:) forControlEvents:UIControlEventTouchUpInside];
}
else if ([button isEqual:@"Timetable"]) {
btnImage = [UIImage imageNamed:@"browser-timetable.png"];
[safariBtn addTarget:self action:@selector(onTimetableButtonPress:) forControlEvents:UIControlEventTouchUpInside];
}
[safariBtn setImage:btnImage forState:UIControlStateNormal];
[btnImage release];
}
已更新
仅供引用:这是 UIToolbar 上方的一个按钮。
最佳答案
您的代码似乎有一些问题:
[btn图片发布] 您已经使用 autorelease 创建了该镜像,您不对其发布负责。这很可能最终会发生奇怪的事情,即您遇到的情况。
您确定 btnImage 在 if 语句之后有内容吗?按钮是否有可能不等于@“浏览器”也不等于@“时间表”?
此外,请确保按钮处于正常状态。
干杯
关于iphone - UIButton setImage 不起作用?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7078217/