单击时更改按钮的图像不会更改

时间:2014-07-21 21:14:58

标签: ios xcode uibutton

我有一个按钮,我想在更新数据后更改图像。但不知道这应该怎么做 这就是我到目前为止所拥有的

- (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'`

1 个答案:

答案 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