Выбор и отмена выбора NSCollectionView

Недавно я заставил свой NSCollectionView работать так, чтобы он правильно обрабатывал раздел. Я достиг этого, добавив привязку с выбранным путем ключа модели. Это действие скрывает синее представление, которое показывает выбор пользователю. Проблема в том, что я не могу отменить выбор своего NSCollectionViewItem, щелкнув за пределами изображения в представлении, которое является самым низким представлением в иерархии моего NSCollectionViewItem. Он также не отменял выбор itemView, когда я выходил из своего CollectionView. Я попытался заставить его работать, создав подкласс моего NSCollectionItemView и переопределив выбранную переменную. Но, как я уже сказал, до сих пор я ничего не достиг, чтобы решить мою проблему.

Теперь надеюсь на помощь. Что я могу сделать?

PS: я настроил NSControllerView с помощью arrayController через свой MainStoryboard. И да... Я только начал программировать с помощью swift и какао для OS X. Но я немного познакомился с какао. Есть ли какой-нибудь знакомый способ инициализировать и обрабатывать действия NSCollectionView, такие как UICollectionView?


person Tom Kuschka    schedule 13.01.2016    source источник
comment
Что вы подразумеваете под правильной обработкой раздела? Где голубой вид? Какое действие скрывает это?   -  person Willeke    schedule 14.01.2016
comment
NSCollectionView претерпел большие изменения в 2015 году, например, вы могли использовать NSCollectionViewLayout вместо привязки. Я не уверен, каким образом вы хотите построить свой collectionView, но для возможностей выбора и выделения у меня есть видео, посвященное этому youtube.com/watch?v=RgT04gcDll4   -  person Harry Ng    schedule 14.01.2016


Ответы (1)


Apple провела сессию WWDC в 2015 году, на которой обсуждались Что нового в NSCollectionView с новым API. Это говорит о Selection в 36'33".

Пример кода Objective-C CocoaSlideCollection показывает код выбора в действии.

Я также создал видеоруководство по выбору. Пример кода доступен здесь.

person Harry Ng    schedule 14.01.2016