swift - NSPopover 中包含的 NSCollectionView 不显示内容

标签 swift macos cocoa popover collectionview

我有一种情况,我有一个子类 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/

相关文章:

objective-c - 从字符串中提取 URL

string - 将 Charc 插入到索引处存在字符 X 的范围内的字符串中 - swift 2.0

objective-c - 启动 Finder 窗口并选择特定文件

xcode - 使用最初隐藏在 Swift iOS 9 中的 TableView 实现 UISearchController

linux - 随机文件夹名称在终端提示之前

mysql - MacOS High Sierra MySQL 错误 : error while setting value

macos - 将数据写入文件并设置自定义图标

objective-c - 以编程方式更改桌面图像

swift - Alamofire POST 编码问题

ios - 如何使用 get 方法显示 Json 响应