Full-height split view on macOS

I have a window with a 3-pane split view. I'd like the layout to emulate Mail on macOS 11 where all three panes are full height.

As indicated in "Adopt the New Look of macOS" I have the fullSizeContentView style mask set and the left NSSplitViewItem has its behavior set to sidebar. This gives a full height left sidebar.

How can I achieve a full height split between the center and right panes of the split view? I tried applying the sidebar behavior to the rightmost NSSplitViewItem which gives it the transparent background, but it doesn't extend the split to the top of the window. I also tried this with and without a toolbar to see if this made a difference--it didn't.

Any ideas? 🤔

Accepted Reply

Hi sean.rich.dev,

Only a single sidebar at the leading edge of the window is allowed to span the full height and take space away from the titlebar.

However, if you're referring to the seamless full-height split dividers that you see in Mail and Notes, that's accomplished by putting a NSTrackingSeparatorToolbarItem in your toolbar. The separator item tracks a particular split divider to create distinct sections in the toolbar, and it also allows the split divider to extend up through the toolbar.

Replies

Hi sean.rich.dev,

Only a single sidebar at the leading edge of the window is allowed to span the full height and take space away from the titlebar.

However, if you're referring to the seamless full-height split dividers that you see in Mail and Notes, that's accomplished by putting a NSTrackingSeparatorToolbarItem in your toolbar. The separator item tracks a particular split divider to create distinct sections in the toolbar, and it also allows the split divider to extend up through the toolbar.

@Frameworks Engineer: how?

How would you "put a NSTrackingSeparatorToolbarItem in your toolbar" if you are working in swiftUI 2.0 (not creating a toolbar in Appkit, but using the .toolbar modifier in SwiftUI?