自定义 NSTableHeaderCell 在调整表格大小时崩溃

问题描述 投票:0回答:0

当我为我的

NSTableHeaderCell
创建一个自定义的
NSTableView
时,我的应用程序崩溃了,它除了存储一个单一的可选类型
NSFont
之外什么都不做。表格视图第一次绘制良好,但在调整表格视图大小时应用程序崩溃。

我已将问题减少到

NSFont
可选的存在。

class MyTableHeaderCell: NSTableHeaderCell {
    var myFont: NSFont?
}

我为表中的每一列创建一个

MyTableHeaderCell
,例如,

        for (index, tc) in tableView.tableColumns.enumerated() {
            let v = MyTableHeaderCell(textCell:  "Title")
            v.myFont = NSFont.systemFont(ofSize: 14)
            tc.headerCell = v
        }

这可能与表视图创建和销毁单元格有关,但我不知所措。 如果我只是使用

font
NSTableHeaderCell
字段,字体会在调整表视图大小后变回默认值,因此是
myFont
字段。

调整表视图大小时,值

myFont
似乎被丢弃了。玩弄这个,如果我尝试存储自定义
NSColor
对象而不是
NSFont
.

,应用程序也会崩溃,甚至没有绘制表格视图

有什么想法吗?

cocoa nstableview nstableheadercell
© www.soinside.com 2019 - 2024. All rights reserved.