【发布时间】:2014-07-12 21:40:00
【问题描述】:
我有一个以编程方式创建的 NSTableView,我正在向其中添加新列:
func createColumnsOnTable(table : NSTableView, columnNames: String[], hideColumns: String[])
{
for columnNum in 0 .. 2
{
let columnName = columnNames[columnNum]
var newTableColumn = NSTableColumn()
var newHeaderCell = NSTableHeaderCell()
newTableColumn.setHeaderCell(newHeaderCell)
newTableColumn.setIdentifier(columnName.lowercaseString)
newHeaderCell.setTitle(columnName)
newTableColumn.setEditable(true)
newTableColumn.sizeToFit()
newTableColumn.setResizingMask(NSTableColumnUserResizingMask)
//newHeaderCell.drawSortIndicatorWithFrame(table.headerView().frame(), inView: table.headerView(), ascending: true, priority: 0)
if isInSet(columnName, valueArray: hideColumns)
{
newTableColumn.setHidden(true)
}
var sortDescriptor = NSSortDescriptor(key: newTableColumn.identifier(), ascending: true, selector: "compare")
newTableColumn.setSortDescriptorPrototype(sortDescriptor)
table.addTableColumn(newTableColumn)
}
}
我的问题是新列显示正常并且看起来不错,但垂直网格线未与标题中的分隔线对齐。此外,随着分隔线被拖动以使列更宽,列变得更宽,但对齐变得更加倾斜。我不确定如何让它们在调整列大小时保持对齐,或者如何让它们开始对齐。当我使用在 IB 中创建的 tableview 时,我没有这个问题,所以我知道我遗漏了一些东西,但就是找不到。
感谢您提供的任何帮助。
【问题讨论】:
标签: swift nstableview