如何在 NSTableColumn 中设置 NSTextField 的宽度

How do I set the width of NSTextField inside NSTableColumn

我有一个包含 2 列的 NSTableView,其中的单元格是普通的 NSTableCellViews,其文本字段的文本是从字典中设置的。

它都是在 IB 中创建的,我只是 drag/dropped 一个 Table 视图进入我的应用程序。

我的问题是无论列宽如何,单元格文本都会被截断。以编程方式设置列宽或在运行时调整列宽都没有关系。

这是我的视图Table列:

  func tableView(tableView: NSTableView, viewForTableColumn tableColumn: NSTableColumn?, row: Int) -> NSView?
  {
    let cell : NSTableCellView = tableView.makeViewWithIdentifier(tableColumn!.identifier, owner: self) as! NSTableCellView
    cell.textField!.stringValue = dataArray[row].objectForKey(tableColumn!.identifier)! as! String
    return cell
  }

在这里你可以看到结果(我列出了已安装的应用程序及其当前版本)

.

如您所见,一些名称较长的行被截断了。

关于如何为文本字段提供显示其所有内容所需的宽度的任何指示?在 Xcode/IB 中或以编程方式。这是我的第一个 OSX 应用程序,所以请像我是 Windows 用户一样与我交谈... ;)

您可以使用约束。首先 select 您的文本字段,然后按下工具提示显示 "Resolve autolayout issues" 右侧的那个小按钮。然后select添加缺少的约束。