Search code examples
objective-ccocoaappkitnsoutlineview

NSOutlineView adding NSBannerView to grouped rows


New in macOS Mojave, there's a NSBannerView (NSVisualEffectView) that gets inserted behind the actual cell view in each row marked as a Grouped Row. This is adding an unnecessary visual effect-view that ruins the already styled row for our purpose. How can I stop this new behavior? There's nothing in the docs to highlight the change.


Solution

  • Unfortunately it seems the only way around this is to subclass the NSTableRowView and override layout to explicitly mark the subview as hidden. Ugly, but works. the other non-solution is to unmark these rows as grouped, but then they no longer float, which isn't what I'm after. Here's the solution I follow: https://stackoverflow.com/a/52202620/3900270