使用固定数量的复选框创建单列tableview的正确步骤是什么。例如,列可以具有以下内容(X表示选中复选框,_表示未选中复选框。我还希望在同一列中显示文本标题。):
标题一:
X项目1
_第2项
X项目3
X第4项
标题二:
X第5项
_第6项
如果可能的话,我更喜欢使用Cocoa绑定。此外,我需要知道如何获取用户检查或取消选中的任何项目的开/关检查状态。我需要知道如何将复选框的标题文本设置为“第1项”,“第2项”等。
我要做的是使用tableview创建一个项目列表框,其复选框可以在Microsoft MFC中完成。请明确代码说明并描述IB步骤,因为我对Cocoa和Objective-C很新。
感谢。
答案 0 :(得分:1)
答案 1 :(得分:0)
我是用iPad写的,对任何错误都很抱歉,我无法测试代码
1)在IB中放置一个nstableview,在检查器中使其成为1列,使其基于视图,命名为MainCoumn列。将复选框放在tableviewcell中。
2)选择yor表视图,打开检查器中的第四个选项卡,并将代理和数据源与AppDelegate连接。
3)在AppDelegate.h中添加:
<NSTableViewDelegate, NSTableViewDataSource>
之后:NSObject
4)在AppDelegate.m中添加:
- (NSView *)tableView:(NSTableView *)tableView viewForTableColumn:(NSTableColumn *)tableColumn row:(NSInteger)row {
NSTableCellView *cellView = [tableView makeViewWithIdentifier:tableColumn.identifier owner:self];
if( [tableColumn.identifier isEqualToString:@"MainColumn"] )
{
NSArray *subviews = cellView.subviews;
NSButton *checkbox = [subviews objectAtIndex:1];
cellView.textField.stringValue = @"checkbox";
// [checkbox state]; - check is it checked
// [checkbox setState:0]; - 0 is to set it unchecked, 1- checked.
// if you need to make the second one checked, other - unchecked:
if (row == 1) {
[checkbox setState:1];
} else {
[checkbox setState:0];
}
return cellView;
}
return cellView;
}
- (NSInteger)numberOfRowsInTableView:(NSTableView *)tableView {
return 6
// here you type the number of rows
}
5)profit111