问题标签 [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.
swift - NSCollectionViewItem 从不实例化
我有点迷路了:我创建了一个按钮,就像一个 colorPicker:点击它会在弹出窗口中显示一个 collectionView。我首先使用包含视图 + 集合视图(嵌入为滚动视图 + 剪辑视图)的 nib 文件来完成此操作。这些东西工作得很好。
由于 nib 文件非常简单(并且为了提高我以编程方式设计视图的编码技能),我决定摆脱 nib 文件并在代码中编写缺失的部分。问题是,除了collectionView 的内容之外,我设法完成了工作。经过深入调查,似乎在方法内部:
应该管理数据源,方法
不起作用。事实上,在:
item 未初始化,正如我介入时调试器所说的那样(不是 nil,未初始化)。显然,makeItem 方法从不从我创建的子类中实例化任何 collectionViewItem。标识符很好,并且调用了 collectionView.register 函数,就像在 nib 版本中一样,因为两个项目在这些点上是相同的。makeItem 函数根本不调用我子类化的 NSCollectionViewItem 的 loadView 方法。
有什么线索吗?
乔什
json - 如何将 JSON 数据放入 NScollectionview
我正在从一个 url 中获取数据,该 url 是一个 PHP 脚本,它是 JSON 编码我从 MySQL 数据库中的数据。我的数据正在进入我的应用程序,我知道如何解析它,但我不确定如何将我的数据放在我的集合视图中每个项目的 textField.stringvalue 中。我在这个主题上找到的大部分信息都是针对 iOS 的,我正在为 OS X 制作一个应用程序。
ViewController.swift
模型.swift
swift - 在 Swift 中展开可选值
我对如何解开可选值感到困惑。我正在检查我的变量是否有任何 nil 值,但仍然出现错误。我正在尝试在 NSCollectionViewItem 内执行此逻辑。里面不可以吗?无论我做什么,我都会不断收到此错误:
致命错误:在展开可选值时意外发现 nil
swift - NSCollectionView 为 OS X 中的 segue 选择项目
我查看了 NSCollectionView API,但没有找到与我看过的某些教程相匹配的任何内容。Xcode 强迫我这样写我的方法,这样就没有错误:
每当我单击 NSCollectionView 中的某个项目时,什么都不会发生,并且我的打印语句永远不会显示在控制台中。从 NSCollectionView 中选择项目的正确方法是什么?
objective-c - 如何在不继承它的情况下使用 NSCollectionViewItem?
我正在编写一个非常简单的 macOS 应用程序,我想在集合视图中显示一些图像。对于它们的显示方式,我不需要任何特殊行为。NSCollectionViewItem的文档说:
此类的默认实现支持创建显示单个图像或字符串的简单项目。
这就是我想要的。但是,我找不到有关如何创建默认值的任何信息NSCollectionViewItem
。
NSCollectionView的文档指出:
每个数据源对象都需要实现以下方法:
集合视图:numberOfItemsInSection:
集合视图:itemForRepresentedObjectAtIndexPath:
上面的第二种方法返回一个NSCollectionViewItem
. 从阅读示例中,我了解到NSCollectionViewItem
在这种情况下创建的传统方法是调用:
问题是我不明白<some identifier>
应该是什么。我没有包含 an 的笔尖,NSCollectionViewItem
因为我没有对它进行子类化或以任何方式对其进行自定义。我尝试将以下内容添加到我的数据源中:
imageCollectionView
问题在哪里NSCollectionView
。然后在我的- (NSCollectionViewItem *)collectionView:itemForRepresentedObjectAtIndexPath:
方法中,我调用:
但这会引发异常并将其打印到控制台:
2016-12-19 17:51:27.463 MyApp[28177:3926764] -[NSNib _initWithNibNamed:bundle:options:] 无法加载 nibName: NSCollectionViewItem 捆绑包(空)。
其次是堆栈跟踪。
那么我如何去创建和使用一个NSCollectionViewItem
没有子类化或以任何方式修改的?
objective-c - NSImageView 上的 NSCollectionViewItem 选择,带有 CALayer 的图像边框
我有一个带有 NSImageView 的 NSCollectionViewItem。
我想在图像周围有一个阴影。选择后,我希望图像具有阴影和边框。目前, NSImageView 获取图像周围的边框。
如何在选择上实现阴影+边框?似乎图像周围的边框设置正确,但边框设置在图像视图周围。
objective-c - 如何在 NSCollectionView 中正确显示当前选择?
我有一个NSCollectionView
正在显示一些图像。我已经实现了一个NSCollectionViewDelegate
告诉它应该选择和/或突出显示哪些项目。我正在使用股票NSCollectionViewItem
来绘制图像及其名称。当用户选择一个项目时,我的代表会收到有关突出显示状态更改的消息:
我为didSelect
/做了类似的事情didDeselect
:
在NSCollectionViewItem
sview
中,我执行以下操作:
我看到的问题是绘制突出显示或选择似乎是随机的。当它绘制选择时,它几乎总是在用户实际选择的项目上(尽管由于某种原因它经常忽略最后一个项目)。有时,它会选择用户没有点击或拖过的不同项目。但是,通常它只是不绘制。
我添加了打印以验证它是否正在调用-didChangeItemsAtIndexPaths:toHighlightState:
和-didSelectItemsAtIndexPaths:
. 我在这里做错了什么吗?
我在视图的-drawRect:
方法中添加了一些日志记录,即使我-reloadItemsAtIndexPaths:
在-didChange*
方法中调用,它似乎也没有在所有转换中被调用。为什么不?
我还注意到,委托-should/didDeselectItemsAtIndexPaths:
似乎从未被调用过,即使-should/didSelectItemsAtIndexPaths:
确实被调用过。这是为什么?
swift - NSCollectionViewItem 的圆角
简单的问题,但我找不到任何答案...如何更改NSCollectionViewItem
实例的角半径?
macos - 自动调整 NSCollectionViewItem 的大小以适应屏幕
我正在尝试创建一个 NSCollectionView ,它的项目适应可用空间,而不是为项目定义固定大小并相应地调整 NSCollectionView 的大小。
我想不出用 NSCollectionViewFlowLayout 实现这一点的方法,因为它的项目需要固定大小。使用 NSCollectionViewGridLayout,我非常接近预期的结果。但是,我需要 CollectionViewItems 在缩放包含 NSCollectionView 的窗口时保持它们的纵横比(正方形),而 GridLayout 会根据它们的 min 和 maxItemSize 缩放项目。根据窗口大小和集合中的项目数量,我最终会得到不完全是正方形的项目。
示例截图:扭曲的 NSCollectionViewItems
我可能可以通过在网格中设置 maximumNumberOfColumns 来解决这个问题,具体取决于集合中的项目数和窗口大小,但这似乎有点麻烦。有没有更好的方法来实现所需的布局?也许使用自定义 NSCollectionViewLayout?