如何在NSTableColumn中设置NSTextField的宽度

时间:2016-01-13 13:43:42

标签: swift macos nstableview nstablecellview

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

这一切都是在IB中创建的,我只是将表视图拖放到我的应用程序中。

我的问题是无论列的宽度如何,单元格文本都会被截断。如果我以编程方式设置列宽或者在运行时调整其大小,则无关紧要。

这是我的viewForTableColumn:

  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
  }

您可以在此处查看结果(我列出已安装的应用及其当前版本)

This is the output

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

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

1 个答案:

答案 0 :(得分:1)

您可以使用约束。首先选择您的文本字段,然后在工具提示显示“解决自动布局问题”的右侧按下该小按钮。然后选择添加缺失约束。

enter image description here