uITutton在uITmageview中的UITableview单元格图像没有变化

时间:2012-11-05 14:45:59

标签: uitableview uiimageview uibutton

我有一个自定义的uitableviewcell,因为我有一个带有按钮的imageview,当用户点击按钮时,按钮应该带有刻度标记!

enter image description here

当用户点击按钮时,它应显示一个勾号 我有一些尝试过的东西。请帮助我

checkBoxButton.selected=!checkBoxButton.selected;

if(checkBoxButton.selected==1){
    [checkBoxButton setBackgroundImage:[UIImage imageNamed:@"checked.png"] forState:UIControlStateSelected];
}
else{
    [checkBoxButton setBackgroundImage:[UIImage imageNamed:@"unchecked.png"] forState:UIControlStateNormal];
}

2 个答案:

答案 0 :(得分:0)

在按钮单击中尝试以下代码。只有你有单身才有效 复选框..

if ([self.checkBoxButton.currentTitle isEqualToString:@"uncheck"])  {

    NSLog(@"changing to checked");
    [self.checkBoxButton setTitle:@"check" forState:UIControlStateNormal];
    [self.checkBoxButton setImage:[UIImage imageNamed:@"checkedbox.png"]  forState:UIControlStateNormal];
}else if([self.checkBoxButton.currentTitle isEqualToString:@"check"])
{
    NSLog(@"changing to UNchecked.....");
    [self.checkBoxButton setTitle:@"uncheck" forState:UIControlStateNormal];
    [self.checkBoxButton setImage:[UIImage imageNamed:@"uncheckedbox.png"]  forState:UIControlStateNormal];
}

希望这可以帮助你...

答案 1 :(得分:0)

您可以添加代表状态的属性。

@property (nonatomic, assign) BOOL checked;

- (void)setChecked:(BOOL)checked
{
    _checked = checked;

    if (_checked) {
        [self.checkboxButton setImage:[UIImage imageNamed:@"btn-checkbox-checked"] forState:UIControlStateNormal];
    } else {
        [self.checkboxButton setImage:[UIImage imageNamed:@"btn-checkbox-unchecked"] forState:UIControlStateNormal];
    }
}

您可以向checkBoxButton添加目标操作。在操作方法中,设置checked属性的值。