使用 Swift 学习,我一整天都在做这件事,但进展甚微:
需要知道何时选择 NSCollectionView 中的项目。最终目标是让项目突出显示,并能够使用删除键将其从集合中删除。我的 NSCollectionView 绑定到 ArrayController 来获取内容并发送选择索引,因此看起来我需要监视 ArrayController 的选择更改,但在那里看不到任何有用的委托方法。原型视图有一个文本字段。
我在这里和其他地方遵循了 obj-c 示例(在 Swift 中没有找到),但是 Swift NSCollectionViewItem 没有要重写的 setSelected 方法。它有一个选定的属性。
在 Swift 中选择 NSCollectionViewItem 时如何获取通知?
最简单的解决方案是覆盖所选属性并在设置时做出反应,例如:
class CollectionSonaViewItem: NSCollectionViewItem {
override var isSelected: Bool {
didSet {
// set background color to indicate selection
self.view.layer?.backgroundColor = (isSelected ? NSColor.blue.cgColor : NSColor.clear.cgColor)
// do more stuff
}
}
从那里,您可以发送通知或调用集合视图类、其委托或任何需要的函数。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)