【发布时间】:2016-06-18 05:53:30
【问题描述】:
我正在开发一个使用 NSTableView 的 Cocoa 应用程序。
现在我希望在用户调整窗口大小或最大化窗口时自动调整表格视图中列的宽度,方法是从角落拖动应用程序或单击缩放按钮。
任何帮助将不胜感激。
【问题讨论】:
标签: macos cocoa nstableview nstablecolumn
我正在开发一个使用 NSTableView 的 Cocoa 应用程序。
现在我希望在用户调整窗口大小或最大化窗口时自动调整表格视图中列的宽度,方法是从角落拖动应用程序或单击缩放按钮。
任何帮助将不胜感激。
【问题讨论】:
标签: macos cocoa nstableview nstablecolumn
通过设置约束或设置其自动调整大小掩码,确保您的表格视图本身在窗口调整大小时调整大小。
然后设置表格的整体列自动调整大小样式。在情节提要或 XIB 中,您可以通过选择表视图(而不是包含它的滚动视图)然后在属性检查器中设置“列大小”弹出窗口来执行此操作。在代码中,您设置表视图的columnAutoresizingStyle。 NSTableViewColumnAutoresizingStyle 下描述了不同的样式。如果您希望所有列在调整大小期间扩展或收缩,请将其设置为 NSTableViewUniformColumnAutoresizingStyle。
然后根据需要设置每列的自动调整大小行为。
如果您在 XIB 或情节提要中设置表格,则可以选择列,然后在属性检查器下设置其大小调整行为。
如果您在代码中创建列,请将每个 NSTableColumn 的 resizingMask 设置为包含您想要的任何调整大小模式位。默认情况下允许用户调整大小和自动调整大小,因此您无需执行任何操作。
【讨论】:
如果调整列大小调整掩码或 tableView 大小调整设置没有任何作用,请确保最后一列实际接触到表格视图的右侧,即使它看起来是。
【讨论】: