直到单击收集视图,才会在垂直NSTableView中选择水平NSCollectionView

时间:2019-02-16 06:26:55

标签: swift macos nstableview nscollectionview

关于NSCollectionView,我有一个奇怪的问题。基本上,我有一个集合视图,该视图在垂直滚动表视图中水平滚动。我在NSTableCellView子类中实现了数据源和集合视图的委托。数据源工作正常,并且收集视图能够加载一些图像。

问题来了。我希望收藏夹视图可以选择。我已经将此委托方法实现到了表格单元格视图子类中:

func collectionView(_ collectionView: NSCollectionView, didSelectItemsAt indexPaths: Set<IndexPath>) {
    // Do things here
}

此方法有效,但需要注意。仅当我先在集合视图中单击空白区域然后选择一个单元格时,它才会被调用。如果我仅单击一个单元格,它将不会被调用,这对我来说很奇怪。关于如何解决此问题的任何想法?

我在情节提要中设计了表格单元格视图,集合视图在情节提要中选中了SelectableAllow Empty SelectionAllow Multiple Selection未选中是因为我不想选择多个选项,但是我尝试启用它,但它没有任何改变。

谢谢

1 个答案:

答案 0 :(得分:1)

子类NSTableView。在您的子类中,重写validateProposedFirstResponder(_:for:)可以为您的集合视图及其子视图返回true(或者也许总是返回true)。