gpt4 book ai didi

objective-c - NSTableView 多行类型

转载 作者:太空狗 更新时间:2023-10-30 04:00:08 26 4
gpt4 key购买 nike

我正在尝试创建一个家庭作业计划器应用程序,该应用程序在基于 View 的 NSTableView 中具有两种类型的 TableCellViews。一种是窄条,上面只有一个标签,上面写着下面的作业是什么科目,另一种是一行,用来输入作业项目。 (我将在下面附上屏幕截图。)

我的问题是:在 TableView 中创建新行时,如何指定要创建的行类型?我假设它与标识符有关,但我找不到有关如何以这种方式使用它们的任何信息。

基本上是这样的:

最佳答案

您的标识符是正确的。以下是您如何使用它们。

首先使用特定的行类型设置 NSTableView(您可能已经完成了)。在下面的屏幕截图中,我制作了一行标题和说明,另一行制作了一些按钮。

Two different table rows

接下来,您需要设置所需的标识符。单击 Interface Builder 中的第一行并选择 Identity Inspector。为第一行选择一个唯一标识符。对其他人做同样的事情。

Set the row identifier

最后,在您的实现中使用以下代码创建一个特定类型的新行:

TableViewController.m

#pragma mark - NSTableViewDelegate

- (NSView *)tableView:(NSTableView *)tableView
viewForTableColumn:(NSTableColumn *)tableColumn
row:(NSInteger)row {

NSTableCellView *cell;

if(someCondition == YES) {
cell = [self.tableView makeViewWithIdentifier:@"ButtonRow" owner:self];
} else {
cell = [self.tableView makeViewWithIdentifier:@"TitleDescriptionRow" owner:self];
}

return cell;
}

如果您正在寻找更深入的教程,请查看 Cocoa Programming L51 - View-Based NSTableView (YouTube 视频,不是我做的)。

关于objective-c - NSTableView 多行类型,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18685598/

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