无法更改按钮的图片。
无法更改按钮的图片。
我有3个按钮:
*.h:(所有按钮都有填充的圆圈,这意味着它们被分配了)
@property (strong, nonatomic) IBOutlet UIButton *AllButton; @property (strong, nonatomic) IBOutlet UIButton *FavouritesButton;
*.m:
@synthesize FavouritesButton; @synthesize AllButton;
还有代码:
AllButton.imageView.image =[UIImage imageNamed:@"list_top_icon_active-1.png"]; //图片存在
但它并没有改变图片!在其他视图中我也做了同样的操作,它们可以正常工作 - 到底是怎么回事?
我甚至尝试设置一个不存在的图片:
AllButton.imageView.image =[UIImage imageNamed:@"oisagiowgiow.png"]; //图片不存在 - 但没有错误或崩溃
有人可以帮我修复这个问题吗?
问题的原因是使用了UIButtonTypeRoundedRect类型的按钮,而不是自定义类型的按钮。所以无法更改按钮的图片。
解决方法是使用自定义类型的按钮,并使用setImage:forState:方法设置按钮的图片。
以下是修复问题的代码:
UIButton *button = [UIButton buttonWithType:UIButtonTypeCustom]; button.frame = CGRectMake(40, 140, 240, 30); [button setTitle:@"title" forState:UIControlStateNormal]; [button setImage:[UIImage imageNamed:@"image.png"] forState:UIControlStateNormal];