0

我有固定数量的文本项,我想用复选框显示以在可可表视图中选择/取消选择。就像 Microsoft MFC 中带有复选框的项目列表框。

如果我将部分标签和复选框放到 TableView 中,它们似乎不属于 tableview。注意:标签用于划分/指定复选框项目的部分。

正确的步骤是什么?

谢谢。

4

1 回答 1

0

你可以CustomCell上课:拿一个NSTextFieldNSButton(用于复选框)-

在 IB 中设置 UIButton 状态:

for default state - set non selected image.
 for selected state - set selected image.

在 CustomCell.m 文件中

-(void)setSelected:(BOOL)selected
{
    [checkBoxBTN setSelected:selected];
}

您也可以在课堂上的cellForRowAtIndex方法中执行此操作。tableView您的表数据源应该是一个ModelClass或一个字典,其中包含两个键,如标题及其状态(选定/非选定)。在didSelectAtIndexPath方法中,您需要更新您的字典,例如:

NSMutableDictionary * dic = [yourDataSourceArray objectAtIndex:indexPath.row];
NSNumber *state = [dic valueForKey:@"state"];
[dic setValue:![state boolValue]];

您需要修改您的cellForRowAtIndexPath方法以显示 prev selected/nonSelected 状态

NSMutableDictionary * dic = [yourDataSourceArray objectAtIndex:indexPath.row];
NSNumber *state = [dic valueForKey:@"state"];
cell.title = [dic valueForKey:@"title"];
[cell.checkBoxBtn setSelected:[state boolValue]];

编辑创建标签:

NSTextField *textField = [[NSTextField alloc] initWithFrame:NSMakeRect(10, 10, 200, 17)];
    [textField setStringValue:@"My Label"];
    [textField setBezeled:NO];
    [textField setDrawsBackground:NO];
    [textField setEditable:NO];
    [textField setSelectable:NO];
    [cell addSubview:textField];
于 2013-06-08T06:43:52.787 回答