单击集合视图之前,垂直 NSTableView 中的水平 NSCollectionView 不会 select
Horizontal NSCollectionView in vertical NSTableView does not select until collection view is clicked
我有一个关于 NSCollectionView 的奇怪问题。基本上,我有一个在垂直滚动 table 视图中水平滚动的集合视图。我已经在我的 NSTableCellView
子类中实现了集合视图的数据源和委托。数据源工作正常,集合视图能够加载一些图像。
问题来了。我希望集合视图是 selectable。我已将此委托方法实现到我的 table 单元格视图子类中:
func collectionView(_ collectionView: NSCollectionView, didSelectItemsAt indexPaths: Set<IndexPath>) {
// Do things here
}
此方法有效,但有一个警告。只有当我先点击集合视图中的空 space 然后选择一个单元格时,它才会被调用。如果我只点击一个单元格,它不会被调用,这对我来说很奇怪。知道如何解决这个问题吗?
我在情节提要中设计了 table 单元格视图,集合视图在情节提要中检查了 Selectable
和 Allow Empty Selection
。 Allow Multiple Selection
未被选中,因为我不想进行多项选择,但我尝试启用它,但它没有任何改变。
谢谢
子类 NSTableView
。在您的子类中,将集合视图及其子视图的 validateProposedFirstResponder(_:for:)
覆盖为 return true(或者可能只是 return true 始终)。
我有一个关于 NSCollectionView 的奇怪问题。基本上,我有一个在垂直滚动 table 视图中水平滚动的集合视图。我已经在我的 NSTableCellView
子类中实现了集合视图的数据源和委托。数据源工作正常,集合视图能够加载一些图像。
问题来了。我希望集合视图是 selectable。我已将此委托方法实现到我的 table 单元格视图子类中:
func collectionView(_ collectionView: NSCollectionView, didSelectItemsAt indexPaths: Set<IndexPath>) {
// Do things here
}
此方法有效,但有一个警告。只有当我先点击集合视图中的空 space 然后选择一个单元格时,它才会被调用。如果我只点击一个单元格,它不会被调用,这对我来说很奇怪。知道如何解决这个问题吗?
我在情节提要中设计了 table 单元格视图,集合视图在情节提要中检查了 Selectable
和 Allow Empty Selection
。 Allow Multiple Selection
未被选中,因为我不想进行多项选择,但我尝试启用它,但它没有任何改变。
谢谢
子类 NSTableView
。在您的子类中,将集合视图及其子视图的 validateProposedFirstResponder(_:for:)
覆盖为 return true(或者可能只是 return true 始终)。