如何在表视图单元格中添加复选框?

时间:2014-11-01 11:21:26

标签: ios objective-c iphone xcode

当我选择时间没有更改我的复选框的行时,我在表格视图中创建了自定义复选框。请帮助我

我的代码:

- (UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath
{

@try {
    static NSString *CellIdentifier = @"Cell";
    UITableViewCell *cell = [tableView dequeueReusableCellWithIdentifier:CellIdentifier];

    if (cell == nil) {
        cell = [[UITableViewCell alloc] initWithStyle:UITableViewCellStyleDefault reuseIdentifier:CellIdentifier];


            checkButton = [UIButton buttonWithType:UIButtonTypeCustom];
            [checkButton setFrame:CGRectMake(5, 5, 20, 20)];
            [cell addSubview:checkButton];

            pLblCabType = [[UILabel alloc]initWithFrame:CGRectMake(30, 5, 200, 20)];
            [cell addSubview:pLblCabType];

            pLblTariff = [[UILabel alloc]initWithFrame:CGRectMake(240, 5, 80, 20)];
            [cell addSubview:pLblTariff];

    } 



        [checkButton setImage:[UIImage imageNamed:[pArrImgBullet objectAtIndex:indexPath.row]] forState:UIControlStateNormal];
        pLblCabType.text = @"Arul";
        pLblTariff.text = @"Rs.1250";


    return cell;

}
@catch (NSException *exception) {

    NSLog(@"Exception Error is  %@",exception);
}
@finally {

   }
}

-(void)tableView:(UITableView *)tableView didSelectRowAtIndexPath:(NSIndexPath *)indexPath {

@try {




        [checkButton setImage:[UIImage imageNamed:@"Bullet_Select.png"] forState:UIControlStateSelected];
        [pArrImgBullet replaceObjectAtIndex:indexPath.row withObject:@"Bullet_Select.png"];


    }

}
@catch (NSException *exception) {
    NSLog(@"Exception Error is %@",exception);

}
@finally {

     }
}

先谢谢, S.Arul

2 个答案:

答案 0 :(得分:1)

尝试修改以下cellForRowAtIndexPath方法: -

- (UITableViewCell *)tableView:(UITableView *)tv cellForRowAtIndexPath:(NSIndexPath *)indexPath {
UITableViewCell *cell = [tv dequeueReusableCellWithIdentifier:@"CellWithSwitch"];
if (cell == nil) {
    cell = [[[UITableViewCell alloc] initWithStyle:UITableViewCellStyleDefault reuseIdentifier:@"CellWithSwitch"] autorelease];
    cell.selectionStyle = UITableViewCellSelectionStyleNone;
    cell.textLabel.font = [UIFont systemFontOfSize:14];

        cell.accessoryType = UITableViewCellAccessoryCheckmark;
}

return cell;

答案 1 :(得分:0)

您需要以适当的方式创建自定义单元格视图,并将按钮和其他标签添加到其中。有多种方法可以做到这一点。如果您正在使用故事板(我希望您这样做),请查看此tutorial以了解如何制作原型单元格,如果您使用的是xib文件,请查看this