我有一个按钮,我想在更新数据后更改图像。但不知道这应该怎么做 这就是我到目前为止所拥有的
- (IBAction)LikeBtn:(id)sender {
This code not needed for this site
// Save new Post object in Parse
[newPost saveInBackgroundWithBlock:^(BOOL succeeded, NSError *error) {
if (!error) {
NSLog(@"liked");
[self likedSuccess];
[sender setBackgroundImage:[UIImage imageNamed:@"liked.png"]];
}
else {
NSLog(@"Error");
[self likedFail];
}
}];
}
任何想法?
点击按钮时获取错误
Terminating app due to uncaught exception 'NSInvalidArgumentException', reason: '-[UIButton setBackgroundImage:]: unrecognized selector sent to instance 0x110158b60'`
答案 0 :(得分:2)
您是否看到liked
已退出?你确定没有收到错误吗?在else分支中尝试NSLog(@"Error: %@", error)
,看看登录到控制台的内容。
此外,由于发件人是id
,您可能希望进行一些内省,例如确保
[sender isKindOfClass:[UIButton class]]
在设置地面图像之前。
设置背景图片的正确方法调用是setBackgroundImage:forState:
,请在此处查看参考:https://developer.apple.com/library/ios/documentation/uikit/reference/UIButton_Class/UIButton/UIButton.html#//apple_ref/occ/instm/UIButton/setBackgroundImage:forState:
没有setBackgroundImage
。