swift - 如何设置 NSTableColumn 内 NSTextField 的宽度

标签 swift macos nstableview nstablecellview

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

这一切都是在 IB 中创建的,我只需将 TableView 拖/放到我的应用程序中即可。

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

这是我的 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 用户一样与我交谈......;)

最佳答案

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

enter image description here

关于swift - 如何设置 NSTableColumn 内 NSTextField 的宽度,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34768283/

相关文章:

swift - 通过多个 View Controller 传递数据

ios - Swift - 在 UITableView 中设置清晰的背景颜色

macos - NSTableView - 如何删除空格键事件监听器?

linux - 在 Mac 上添加 boost include 编译器路径

swift - 如何使用弹出按钮切换tableview(swift,cocoa)的内容?

ios - Storyboard选项卡栏未着色

ios - 如何在不同设备的段控制中管理文本大小?

cocoa - 为什么 makeViewWithIdentifier :owner: return different types sporadically?

python - 关于 Mac 代码签名、公证、磁盘镜像和 Python

ios - 如何使 uitableViewcell 选择在编辑或不编程 swift 3 时有所不同?