问题标签 [nscollectionviewitem]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
0 回答
254 浏览

nscollectionview - NSCollectionView 作为 NSCollectionViewItem

这是我想要实现的窗口: 实现窗口 它是一个以 NSCollectionView (RedCollectionView) 作为视图的 NSViewController (RedViewController)。
它的项目 (BlueItem) 有一个 NSCollectionView (BlueCollectionView) 作为视图。
它的项目(GreenItem),有一个NSImageView(GreenImageView)作为视图。
RedCollectionView 将垂直滚动,并且其项目将是可选的。但是,BlueCollectionView 仅用于显示,它不会自行滚动并且无法选择。
这是 AppDelegate 的代码:

这是 RedViewController 的代码:

这是 BlueItem 的代码:

最后是 GreenItem 的代码:

当我启动应用程序时,我得到了这个结果: 所以我有 3 个问题: 1. 带有 BlueCollectionView 的 BlueItem 没有得到预期的蓝色背景。 2. BlueCollectionView 流布局尝试在第一行显示所有项目。看起来它不知道集合视图的大小。 3. 当我尝试选择一个BlueItem 时:如果我点击BlueItem 内的空白区域,RedCollectionView 委托会按预期触发,但如果我点击BlueItem 内的绿色部分,则不会触发RedCollectionView 委托。应用截图




0 投票
0 回答
178 浏览

swift - 删除 NSCollectionView 中的部分和标题(粘性标题流布局)

使用下面发布的粘性标题集合视图布局的代码,当我删除一个部分中的最后一项时,我将如何从视图中删除一个部分(连同标题)?不确定 ViewController 文件中是否有我可以执行此操作的位置,或者可能是 ImageLoader 文件?

图像加载器

粘性标题流布局

0 投票
1 回答
104 浏览

swift - 在 NSCollectionViewItem 中重置的变量

我正在尝试从父 NSCollectionViewDataSource 更新 NSCollectionViewItem 内的 NSTextField 标题。这是我的代码。

NSCollectionViewDataSource

NSCollectionViewItem

如果我在 viewDidLoad 上打印 deviceName 的值,则该值就在那里。但是,当尝试在 ViewDidAppear 中设置标签或没有任何反应时,变量已重置为默认值。我对 Swift 很陌生,但以前在 Objective-C 方面有过一些经验,但不记得有这个问题。

0 投票
0 回答
114 浏览

swift - Swift:NSCollectionViewItem 属性不变

我正在构建一个Cocoa Swift应用程序,该应用程序具有NSCollectionViews并且NSCollectionView具有自定义NSCollectionViewItem功能,如下图所示。

在此处输入图像描述

我的目的是构建类似于日历的东西,正如您从图像中了解的那样,我想更改日期值和日期字符串。即使像下面这样尝试也无法实现,也不明白它有什么效果。

这是我的自定义 NSCollectionViewItem

这是我的itemForRepresentedObjectAt功能。

我尝试了它进行测试,UI 完成了工作,但我没有将属性NSCollectionViewItem更改为NSIndexPath

然后我添加了一个String变量NSCollectionViewItem并用方法观察它,didSet我可以更改变量,但它对AppKit.

我该如何解决这个问题?有什么建议么?

编辑:

我添加了一个模型NSCollectionViewItem

然后在控制器中将其更改为

但从不影响。

提前致谢

0 投票
1 回答
67 浏览

appkit - NSCollectionView 内存泄漏

我有一个NSCollectionView指定为我的数据源和我的代表。

我有两个问题:

  1. 与其使用该方法,不如registerClass尝试使用带有(非零)protoNib 方法的 3 行注释代码来注册,NSCollectionView原因theItem是始终为 nil。

  2. 使用类注册表选项,一切正常。但是,如果我删除willDisplayItemdidEndDisplayingItem存根,系统在第一次调用时会占用大量内存itemForRepresentedObjectAtIndexPath(对这两个存根有数千次内部调用)并最终崩溃。Instruments显示由. _@autoreleasepool content itemsAppKit

知道为什么会发生这种情况吗?

0 投票
1 回答
182 浏览

cocoa - 具有使用自动布局的动态宽度项目的 NSCollectionView

我正在构建一个NSCollectionView水平滚动的项目,看起来像这样:

目标

NSCollectionView在具有自动布局约束的 .xib 中定义了我的项目。项目的宽度由标签的宽度加上计数标签(及其周围的药丸)的宽度定义。所有这一切都被一个NSView称为“盒子”的封装。

在此处输入图像描述

以下是 Box 的约束:

在此处输入图像描述

我已经连接了我的数据源,一切看起来都很好,只是我无法根据其中的视图大小来改变项目的宽度。

根据我的阅读,我不能仅仅依靠自动布局来定义这里的大小(我希望我错了),就像我在NSTableView. 所以我试图用sizeForItemAt委托方法计算大小NSCollectionViewDelegateFlowLayout

当我打印fittingSize到控制台时,它看起来是正确的。但是我遇到了Unable to simultaneously satisfy constraints与 Box 大小有关的崩溃(它有一个子类RoundedWrap):

如果我删除将 Box 的后沿固定到包含视图的约束,崩溃就会消失,但是我的NSCollectionView项目根本不会出现。

有没有更简单的方法来完成这一切?如何使用自动布局来设置我NSCollectionViewItem的 s 的动态宽度?

0 投票
1 回答
34 浏览

swift - NSCollectionViewItem 按钮操作 无效果

点击按钮没有效果希望好心人帮我看看为什么下面是我的代码

0 投票
1 回答
61 浏览

macos - 如何解决 NSCollectionViewItem 重叠问题?

我使用 NSCollectionView 来显示水平列表。但是所有单元格都在第一个单元格位置重叠,就像这样。

我没有足够的声誉来发布图片。[cell1,cell2,cell3],它们都在第一个单元格位置重叠。所以它看起来只是一个单元格,但实际上它有 3 个单元格。

我的主要代码:

我该怎么做才能解决它?

0 投票
1 回答
31 浏览

swift - 如何跳过 NSCollectionView 中的第一个单元格?

NSCollectionView 项目如何从第二个单元格开始并将第一个单元格留空?(查看示例)

0 投票
1 回答
87 浏览

swift - NSCollectionViewItem 和对可访问性的支持

我正在使用NSCollectionView水平布局自定义视图。每个都NSCollectionViewItem托管一个NSView类似于复选框的自定义。这些自定义子视图自己支持可访问性(通过覆盖所需的可访问性方法,例如accessibilityRoleaccessibilityLabel)。

但是,我似乎无法将这些自定义视图提升为主要的 UI 视图,以便可以直接访问它们。当我使用 Accessibility Inspector 进行检查时,每个集合视图项似乎都是 aGroup并且似乎无法自动按下按钮,例如,因为自定义视图对其不可见。

我尝试NSAccessibilityButton在集合视图项上实现,但是我不知道要返回什么accessibilityParent()- 默认情况下似乎NSCollectionViewItem返回父集合视图部分,但如果没有子类化 NSCollectionView 及其布局,这是不可访问的。

以下内容也无济于事:

这永远不会被调用。问题是,如何在使用NSCollectionView/时增加对可访问性的支持NSCollectionViewItem?我只是希望显示其子视图之一,以便自动化程序或键盘大师等应用程序可以访问它。