0

我有一个自定义的 uitableviewcell,当用户单击按钮时,我有一个带有按钮的图像视图,按钮应该显示一个刻度线!

在此处输入图像描述

当用户单击该按钮时,它应该显示一个勾号,我尝试了一些东西。请帮助我

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];
}
4

2 回答 2

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];
}

希望这可以帮助你...

于 2012-11-07T05:59:01.833 回答
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];
    }
}

您可以将 target-action 添加到您的checkBoxButton. 在 action 方法中,设置checked属性的值。

于 2013-03-11T07:03:49.427 回答