【问题标题】:NSCollectionView selection handling in SwiftSwift 中的 NSCollectionView 选择处理
【发布时间】:2015-01-31 09:34:07
【问题描述】:

与 Swift 一起学习,我整天都在学习,但进展甚微:

需要知道何时选择了 NSCollectionView 中的项目。最终目标是让项目突出显示并能够使用删除键将其从集合中删除。我的 NSCollectionView 绑定到 ArrayController 以获取内容并发送选择索引,所以看起来我需要观察 ArrayController 以进行选择更改,但在那里看不到任何有用的委托方法。原型视图有一个文本字段。

我在此处和其他地方关注 obj-c 示例(在 Swift 中没有找到),但是 Swift NSCollectionViewItem 没有要覆盖的 setSelected 方法。它有一个选定的属性。

如何在 Swift 中选择 NSCollectionViewItem 时获得通知?

【问题讨论】:

    标签: swift nscollectionview


    【解决方案1】:

    最简单的解决方案是覆盖选定的属性并在设置时做出反应:

    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
        }
      }
    

    从那里您可以发送通知或调用集合视图类、其委托或任何需要的函数。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2023-04-07
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2016-05-22
      • 1970-01-01
      • 2018-02-13
      • 1970-01-01
      相关资源
      最近更新 更多