首页 > 解决方案 > 使用 StackView 和约束的并排 NSTableView

问题描述

我正在使用 XIB 和 Swift、XCode 12.5 为 macOS 创建一个应用程序。我想要实现的是一个具有两个并排的 NSTableViews 的窗口,具有相等的宽度,填充可用空间。堆栈视图似乎是显而易见的选择。

我可以轻松地使用约束来使单个NSTableView 填充窗口并正确调整大小,但我的困难是拥有两个并排的 NSTableView。我已经尝试了我能想到的一切,但症状总是大致相同:在 Interface Builder 中,扩展窗口,NSTableViews 增长(同样,正确)但缩小窗口它们保持在以前的最大大小。

约束尝试失败

运行这个应用程序会得到不同的结果:表格确实正确调整了大小,但单元格大小不正常。这些表是(应该)彼此相同的副本:我从字面上复制粘贴了第二个。

在运行时,表格看起来并不 100% 相同

我搜索了有关在 Stack Views 中使用 NSTableView 的信息,但空手而归。我可能忽略了一些东西!我应该补充一点,如果这意味着能够解决我的问题,我很高兴转向 Storyboard 甚至 SwiftUI,但看起来 SwiftUI 和 NSTableView 会使问题复杂化。

我试图在这里展示我的作品:https ://github.com/toothbrush/tabletest2 。

标签: constraintsinterface-buildernstableviewnsstackview

解决方案


推荐阅读