gpt4 book ai didi

objective-c - NSTableView 内的 NSButton 以编程方式?

转载 作者:行者123 更新时间:2023-12-03 16:23:09 26 4
gpt4 key购买 nike

如何在 NSTableView 中设置一列复选框?到目前为止,这就是我所做的,但它只是将 int 1 放入列中,而不是复选框中:

-(id)tableView:(NSTableView *)aTableView objectValueForTableColumn:(NSTableColumn *)tableColumn row:(int)row {
if ([[tableColumn identifier] isEqualToString:@"Enable"]) {
NSButtonCell *cell=[[[NSButtonCell alloc] init] autorelease];
[cell setAllowsMixedState:YES];
[cell setButtonType:NSSwitchButton];
NSCell *aCell = [tableColumn dataCellForRow:row];
[aCell setObjectValue:cell];
return [NSNumber numberWithInt:1];
}

return [[data objectAtIndex:row+1] objectAtIndex:[[data objectAtIndex:0] indexOfObject:[tableColumn identifier]]];
}

最佳答案

您需要使用 dataCellForTableColumn 委托(delegate)方法。

- (NSCell *)tableView:(NSTableView *)tableView dataCellForTableColumn:(NSTableColumn *)tableColumn row:(NSInteger)row {

if([[tableColumn identifier] isEqualTo:@"delete"]){

NSButtonCell *cell = [[[NSButtonCell alloc] init] autorelease];
[cell setAllowsMixedState:YES];
[(NSButtonCell *)cell setButtonType:NSSwitchButton];
[cell setTitle:@""];

return cell;

}else {
NSCell *cell = [tableColumn dataCell];
return cell;
}
}

关于objective-c - NSTableView 内的 NSButton 以编程方式?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5509288/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com