Горизонтальный NSCollectionView в вертикальном NSTableView не выбирается, пока не будет выбран вид коллекции - PullRequest
0 голосов
/ 16 февраля 2019

У меня странный вопрос относительно NSCollectionView.По сути, у меня есть представление коллекции, которое прокручивается горизонтально в виде таблицы с вертикальной прокруткой.Я реализовал источник данных и делегат представления коллекции в моем подклассе NSTableCellView.Источник данных работает просто отлично, и представление коллекции может загружать некоторые изображения.

Здесь возникает проблема.Я хочу, чтобы представление коллекции можно было выбирать.Я реализовал этот метод делегата в моем подклассе представления ячейки таблицы:

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

Этот метод работает, но с оговоркой.Он вызывается только тогда, когда я сначала нажимаю на пустое место в представлении коллекции, а затем выбираю ячейку.Если я только нажму на ячейку, она не будет вызвана, что довольно странно для меня.Есть идеи о том, как это исправить?

Я разработал представление ячейки таблицы в раскадровке, в представлении коллекции проверены Selectable и Allow Empty Selection в раскадровке.Allow Multiple Selection не проверено, потому что я не хочу множественный выбор, но я пробовал включить его, и он ничего не меняет.

Спасибо

1 Ответ

0 голосов
/ 16 февраля 2019

Подкласс NSTableView.В вашем подклассе переопределите validateProposedFirstResponder(_:for:), чтобы вернуть true для представления вашей коллекции и его подвидов (или, возможно, просто вернуть true всегда).

...