首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >NSTableView在NSTableViewCell中

NSTableView在NSTableViewCell中
EN

Stack Overflow用户
提问于 2018-07-06 20:45:13
回答 1查看 169关注 0票数 1

我试图在NSTableView中使用NSTableViewCell,并且在禁用滚动时遇到了问题。外部的tableview可视化了一个对象列表(在我的例子中是一个3D材料定义),在我使用的每个单元格内(以及其他控件),另一个表视图表示材料的属性(这是一个可以改变大小的动态列表)。

  • 材料A
    • 财产1
    • 财产2
    • 财产3

  • 材料B
    • 财产1

  • 材料C
  • ..。

这很好,除了一件事:

两个tableview都使用动态行高度,这将导致外部表视图单元格将内部表视图折叠为0px高度。是否有一种方法可以禁用内表视图的滚动,并使其使用足够的高度显示所有元素?更复杂的是,属性映射到不同的单元格定义(基于属性的类型),所有这些单元格都是在Interface中设置的。因此,使用NSView并将其类型设置为NSTableView以避免NSScrollView或对所有控件进行编程构造并不是一个真正的选择。

任何提示都是非常感谢的!

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2018-07-07 06:18:05

更新:使用TableViews

您也可以使用NSTableView来实现您想要实现的目标。与UITableView不同,NSTableView不自己做滚动操作。它被包装在一个NSClipView中,它本身封装在一个NSScrollView中。因此,您只需从其中提取tableView并添加一些约束。

接口构建器目前不支持这一点。您不能将tableView从其封闭的clipView中拖出。但是您可以将接口文件作为源代码打开,并删除从scrollView开始的所有内容(除了表本身)。tableView应该在接口生成器中显示得很好(在Xcode 9和10上测试)

您必须在代码中添加约束,但是tableView应该会自行增长。

因为内部表视图不需要滚动,所以您可以只使用NSStackView来布局视图。那么你就不必反抗NSTableView的行为了。如果你需要一个例子,随时可以问!

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/51217383

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档