0

我有一个NSTableView主要使用标准NSTextTableCellViews 但我希望其他一些单元格在我的表中在一两行中包含另一个 UI 组件。问题是:我在哪里定义这些自定义单元格以便 Cocoa 找到它们?

我刚刚将一个自定义NSTableCellView放入我的 XIB(与表相同的 XIB)并给它一个标识符。但是然后使用此代码显然不会找到单元格...

func tableView(tableView:NSTableView, viewForTableColumn tableColumn:NSTableColumn?, row:Int) -> NSView?
{
    var view:NSTableCellView?;
    if (tableColumn?.identifier == "labelColumn")
    {
        view = tableView.makeViewWithIdentifier("labelCell", owner: nil) as? NSTableCellView;
        view!.textField?.stringValue = _formLabels[row];
    }
    else if (tableColumn?.identifier == "valueColumn")
    {
        if (row == 1)
        {
            view = tableView.makeViewWithIdentifier("customCell", owner: nil) as? NSTableCellView;
            println("\(view)"); // nil - Not found!
        }
        else
        {
            view = tableView.makeViewWithIdentifier("valueCell", owner: nil) as? NSTableCellView;
            view!.textField?.stringValue = _formValues[row];
        }
    }

    return view;
}

customCell所有作品,但找不到带有 id 的单元格。我如何告诉 Cocoa 找到它?

4

1 回答 1

1

您需要将新的单元格视图拖放到包含这种单元格视图的表列中(在这种情况下,它的标识符是“valueColumn”)。

于 2015-06-14T15:52:31.307 回答