问题标签 [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 投票
1 回答
729 浏览

swift - NSCollectionViewItem 在 reloadData 后搞砸了

我正在使用 NSCollectionView 和 NSCollectionViewItems。

我遇到了以下问题:如果我旋转其中一项的 NSImageView,然后调用 reloadData,更新后的视图会被搞砸。旋转会跳到下一个项目,角度会不同等等。

图片和代码如下:

在此处输入图像描述

在此处输入图像描述

在此处输入图像描述

在此处输入图像描述

轮换代码:

模型:

}

委托方式:

0 投票
0 回答
97 浏览

swift - 跨不同自定义 NSCollectionViewItem 单元格的选项卡

试图在我的第一个 macOS 应用程序中找到处理数据输入表单的最佳方式。目前正在尝试使用 NSCollectionView 和自定义单元格用于不同的布局,例如标签 + 一个条目字段、两个标签 + 两个字段、标签 + 日期条目等。参见图片 - 前四个单元格中的 Tabbing 工作正常,所有相同的自定义单元格,但随后跳转到表单视图之外的另一个字段。下一个单元格是一个不同的自定义单元格,电话号码条目。如何将制表符定向到集合视图中的下一个单元格?

在此处输入图像描述

0 投票
0 回答
269 浏览

objective-c - Cocoa Binding NSButton 更改绑定目标

我在 NSCollectionViewItem 中有一个 NSButton(提供删除项目操作),参数设置成功,绑定操作得到响应,我也得到了代表对象。但是我绑定的目标是文件的所有者目标绑定的图像

这是我得到representedObject的方法:

我的问题是如何获取“ _arrayController”实例或将绑定目标更改为ViewController拥有该arrayController属性的对象?

0 投票
1 回答
368 浏览

objective-c - 滚动时 NSCollectionViewItems 不会重新加载

我是学习 Objective-C 的新手,我有一个问题NSCollectionView,我找不到任何方法来解决它。

我的问题是:

我写了一个按钮事件来创建一个NSCollectionView命名thoughtCollectionView并添加到我contentView的 to display NSCollectionViewItems

当我运行模拟器时,项目看起来不错,但是当我滚动时它们不会重新加载。

这是我的代码:

主视图控制器.m

主视图控制器.h

ThoughtCollectionView.h

ThoughtCollectionView.m

模拟器显示: 在此处输入图像描述

滚动: 在此处输入图像描述

思想项目.m

思想项.h

0 投票
1 回答
88 浏览

objective-c - 在 NSCollectionView 中获取 NSTextField 的字符串值

我想知道如何获取 NSCollectionView 中的文本字段的字符串值。文本字段是使用 collectionview 的原型创建的。

我不知道我是否应该使用representedObject或其他东西以及如何使用。

0 投票
2 回答
808 浏览

objective-c - NSCollectionView 正在相互绘制 NSCollectionViewItems

我的 NSCollectionView 正在将我的 NSCollection 项目相互绘制。 更新:我添加了一个示例项目 GitHub 示例项目

更新:这已经有所改变 当应用程序首次启动时,它看起来像这样

更新 我当前的示例有两个视图,它们当前位于自己的 nib 文件中,具有专用NScollectionViewItem对象,它们当前用于测试是相同的。我基本上有一个 NSCollectionViewItem ,它有一个子视图,其中包含 NSTextField 。带着所有的约束。

对于集合视图,它设置为网格控制器,理想情况下,我希望有 1 列。

为了用数据加载它,我将 ViewController 设置为 NSCollectionViewDataSource,并实现- (NSInteger)collectionView:(NSCollectionView *)collectionView numberOfItemsInSection:(NSInteger)section- (NSCollectionViewItem *)collectionView:(NSCollectionView *)collectionView itemForRepresentedObjectAtIndexPath:(NSIndexPath *)indexPath

更新的代码 完整代码包括:

更新 ItemOne 和 ItemTwo 类都是空类,每个类的 nib 都有NSCollectionViewItem一个带有标签的视图。ViewNSCollectionViewItem通过 中的 view 属性连接到NSCollectionViewItem。目前除了默认限制外没有其他限制

NSCollectionView网格设置如下:

布局:网格尺寸:最大行数:0 最大列数:1 最小项目尺寸:宽度:250 高度:150 最大项目尺寸:宽度:250 高度:150

这是设置整个事物的代码,此时不将其绑定到数据源。

似乎无论我如何更改设置,甚至将 CollectionView 类型更改为 Flow 都不会改变任何内容,它看起来都一样。

我一直将此作为 AutoLayout 问题处理,因为最初存在一些自动布局问题,但这些问题都已解决。

任何帮助将不胜感激。

0 投票
1 回答
79 浏览

swift - NSCollectionView, imageview 旋转问题

我有 NSCollectionView 里面有项目。我有 NSCollectionViewItem 的 xib,绑定到表示的Object.image

我的问题如下。有时我的项目应该显示“空图像”,直到我通过我的控件为此选择图像。当我选择图像时 - 我将它存储在代表对象的 .image 属性中,绑定会更新视图,一切都很酷。

我可以在集合内旋转我的 imageview。一切都很好,除了上面的情况,当我为空的图像选择图像时,视图正在更新,绑定显示正确的图像,但是如果我在那之后尝试旋转视图 - 它不能正常工作。它仅在添加它的位置旋转显示,但如果我旋转到不同的角度 - 它就会消失。通过 KVO 正在观察旋转。

这是我拥有的代码:

0 投票
2 回答
675 浏览

swift - NSCollectionViewItem 的动态大小

我正在尝试为我的 NSCollectionViewItem 提供动态大小。我希望它们的大小取决于它们的内容和我定义的约束。

为此,我已将以下内容添加到包含 NSCollectionView 的视图控制器中:

哪个抛出异常。

我不知道它来自哪里,我试图抓住它,但 xcode 说它item(at:)不会引发异常。

编辑:但事实上确实如此,我有一个异常断点,它闯入item(at:) 项目(在:)异常

除了向 Apple 发送错误报告之外,有人还有其他想法吗?而且由于 item(at:) 不应该抛出错误,所以 do catch bloc 是无效的

0 投票
1 回答
2492 浏览

swift - NSCollectionView,Swift 4 - 无法调用“注册”

谁能建议如何解决这个NSCollectionView问题?从 Swift 3 转换为 Swift 4,魔法开始发生了 :)

代码:

第二行的错误:

无法register使用类型参数列表调用“ ”'(NSNib?, forItemWithIdentifier: String)'

0 投票
1 回答
1033 浏览

macos - NSCollectionView doesn't seem to need registering its item class

When I made NSCollectionView UI...

First time, I registered my collection view item class using

and I added more collection views and forget to call like

but collectionView(_:itemForRepresentedObjectAt:) , makeItem(withIdentifier:"ContentItemTwoClass", for: indexPath) seems to work just fine.

Now I wonder if registering classes is necessary or can be removed.

thanks.