我有一种情况,我有一个子类 NSCollectionView
作为 NSViewController
中的 subview ,当用作 Storyboard 中的 View 时可以完美显示其内容。
当我尝试将相同的 Controller 类用作 NSPopover
窗口的 contentViewController
时,窗口按预期加载;所有控件均按预期呈现和运行 - 子类 NSCollectionView
除外。无论我如何(以及何时)尝试加载其内容,该 View 都保持空白。
相同的委托(delegate)和数据源用于两种场景。作为 Storyboard segue View ,它们有效。作为弹出窗口,他们没有。我确定我错过了什么,我只是不知道是什么。
感谢任何帮助。
环境:
- Mac 操作系统:10.13.5
- X代码:9.3.1
- swift :4.1
最佳答案
回答我自己的问题 - 以防有人像我一样被困住。事实证明这是我的一个简单遗漏:将子类 NSCollectionView 封装在 NSScrollView 中 - 是的,就是这么简单。
感谢 thierryH91200 和他的 RetailStoreUISwift 示例:https://github.com/thierryH91200/RetailStoreUISwift为答案。经过仔细检查,我们两个实现的唯一区别是 scrollview 容器。一旦我添加了它,弹出窗口就会按预期工作。
迎接下一个挑战......
关于swift - NSPopover 中包含的 NSCollectionView 不显示内容,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/50397620/