I'm migrating my app from the cell-based NSOutlineView
to the view-based one. I'm mostly switched over now, but I'm having an issue with the way the highlight is drawn when dropping an object onto a row.
The standard system-wide highlight looks like so (from NetNewsWire):
My highlights look mostly the same, but crucially, without the dark blue border:
It looks naked without that, and I couldn't find any properties that I had toggled incorrectly. I'm using a custom subclass of NSOutlineView
, whose only override is -frameOfOutlineCellAtRow:
. I didn't customize the attributes of the outline view (or its cell views) in IB.
I solved this issue by making a simple test app, which I noticed behaved correctly. I compared the outline view in IB pane by pane until I spotted the difference. In the "View Effects" inspector, I had the backing layer turned on (under the Core Animation Layer section) going all the way up the stack. I unchecked all those boxes, and I get the proper highlight, and it also still animates correctly.