如何在单击iphone中的按钮时更改表格单元格内的按钮图像

时间:2011-08-01 07:15:38

标签: objective-c ios4

我的应用程序中有一个tableview。我在表格单元格中创建了一个按钮,并为其分配了背景图像。我点击该按钮时想要更改背景图像。我为这个按钮分配了一个动作

-(void)goodBtnClicked:(id)sender {
    [goodBtn setBackgroundImage:[UIImage imageNamed:@"camera.png"] forState:UIControlStateNormal];
}

但是,图像不会被新图像取代。任何人都能帮助我吗?

3 个答案:

答案 0 :(得分:0)

你应该确保你的图像确实在那里。

-(void)goodBtnClicked:(id)sender {
    UIImage *img = [UIImage imageNamed:@"camera.png"];
    NSAssert(img, @"Image shouldn't be nil");
    [goodBtn setBackgroundImage:img forState:UIControlStateNormal];
}

答案 1 :(得分:0)

尝试

-(void)goodBtnClicked:(id)sender {
    [sender setBackgroundImage:[UIImage imageNamed:@"camera.png"] forState:UIControlStateNormal];
}

答案 2 :(得分:0)

浏览所有子视图并找到按钮,然后更改背景图像

- (void)buttonPressed:(UIButton *)sender{

    UITableViewCell *cell = (UITableViewCell *)sender.superview;
    for (UIView *sub in cell.subviews) {

        if([sub isMemberOfClass:[UIButton class]])
        {
          UIButton * button=[[UIButton alloc] init];
          button=sub;
          [button setImage:[UIImage imageNamed:@"image.png"] forState:UIControlStateNormal];
        }

    }

}