gpt4 book ai didi

objective-c - NSTableView 的列中的自定义 NSView

转载 作者:行者123 更新时间:2023-12-03 17:20:36 25 4
gpt4 key购买 nike

我使用的是基于 View 的 NSTableView,只有一列。我有以下代码,它返回一个带有两个 NSTextFieldNSView:

- (id) tableView:(NSTableView *)tableView objectValueForTableColumn:(NSTableColumn *)tableColumn row:(NSInteger)row {

NSView *v = [[NSView alloc] init];

NSTextField *t1 = [[NSTextField alloc] init];
[t1 setStringValue:@"test1"];

NSTextField *t2 = [[NSTextField alloc] init];
[t1 setStringValue:@"test2"];

[v addSubview:t1];
[v addSubview:t2];

return v;
}

即使执行此代码,似乎也没有发生任何事情。我没有使用列标识符,我只想将自定义 View 作为行返回。

这是结果:

Table rows

我做错了什么?

此 View 将是非常自定义的且很大,因此我不能依赖 Apple 的“默认”单元格 View 。

谢谢!

最佳答案

基于 View 基于单元格不同。

所有不同之处是将“id”返回值替换为“NSView”。

更改此:

- (id)outlineView:(NSOutlineView *)outlineView viewForTableColumn:(NSTableColumn *)tableColumn item:(id)item

对此:

- (NSView *)outlineView:(NSOutlineView *)outlineView viewForTableColumn:(NSTableColumn *)tableColumn item:(id)item

这是假设您正在运行 10.7,并且您实际上将返回一个 NSView。

关于objective-c - NSTableView 的列中的自定义 NSView,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30026346/

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