使用自动布局的 NSTableView 在单元格视图上创建宽度约束

NSTableView using autolayout creates width constraint on cell view

我正在使用基于视图的 NSTableView,并启用了自动布局。 Auto Layout 为单元格视图提供了两个水平约束:一个 Cell_MinX 绑定到它的 NSTableRowView 的前缘,一个 Cell_Width 约束根据 table 的宽度进行调整。

但是,当 window 的宽度调整为 > 1000 点时,Cell_Width 约束在 1000 点停止增加并且宽度约束锁定在 1000 点,直到 window' s 宽度小于此限制。这似乎是 table 视图插入的任意值,我不知道如何确保该值 always table 的宽度.我在 IB 中构建了 table 视图,它不允许在 table 的单元格视图上创建约束。我创建了一个 sample project 来演示这个问题。这是 Xcode 的视图调试器,window 的宽度大于 1000。

这不是随意的。 Interface builder 将最大 Table 列大小设置为 1000。如果删除所有列,将其设置为零,然后添加单个列,并确保将其设置为基于视图的 table 视图,然后它会将其设置为最大允许大小(一个非常大的数字)。或者您可以自己在界面生成器中设置最大尺寸。