Selection Highlight in NSCollectionView
Posted
by Hooligancat
on Stack Overflow
See other posts from Stack Overflow
or by Hooligancat
Published on 2010-03-29T21:59:52Z
Indexed on
2010/03/29
22:03 UTC
Read the original article
Hit count: 724
On some occasions my head just hurts from banging it against the Cocoa wall. Today is one of those days.
I have a working NSCollectionView
with one minor, but critical, exception. Getting and highlighting the selected item within the collection.
I've had all this working prior to Snow Leopard, but something appears to have changed and I can't quite place my finger on it, so I took my NSCollectionView
right back to a basic test and followed Apple's documentation for creating an NSCollectionView here:
The collection view works fine following the quick start guide. However, this guide doesn't discuss selection other than "There are such features as incorporating image views, setting objects as selectable or not selectable and changing colors if they are selected"
.
Using this as an example I went to the next step of binding the Array Controller to the NSCollectionView
with the controller key selectionIndexes
, thinking that this would bind any selection I make between the NSCollectionView
and the array controller and thus firing off a KVO notification. I also set the NSCollectionView
to be selectable in IB.
There appears to be no selection delegate for NSCollectionView
and unlike most Cocoa UI views, there appears to be no default selected highlight.
So my problem really comes down to a related issue, but two distinct questions.
- How do I capture a selection of an item?
- How do I show a highlight of an item?
NSCollectionView
's programming guides seem to be few and far between and most searches via Google appear to pull up pre-Snow Leopard implementations, or use the view in a separate XIB file.
For the latter (separate XIB file for the view), I don't see why this should be a pre-requisite otherwise I would have suspected that Apple would not have included the view in the same bundle as the collection view item.
I know this is going to be a "can't see the wood for the trees" issue - so I'm prepared for the "doh!" moment.
As usual, any and all help much appreciated.
© Stack Overflow or respective owner