问题
Various Preferences dialogs (Safari, Mail, Xcode4, and any that uses NSPreferences) and Xcode4's Organizer use something reminiscent of a tab view -- except that is uses toolbar buttons for switching between tabs. These buttons are "pressed".
What is the best way to implement such a tab view? Is there a documented public API for implementing them?
回答1:
Since Mac OS X 10.10 (Yosemite), the easiest way to do this is to lay out your preferences dialog window in a storyboard using an NSTabViewController, and set its tabStyle to NSTabViewControllerTabStyleToolbar.
WWDC 2013 Session 212: Storyboards and Controllers on OS X walks through this scenario starting around 10m45s.
回答2:
BWToolkit has code that does what you want.
If you fancy implementing it yourself, you could take a look at the code and see what it's doing. Hint: NSToolbar's delegate protocol has a toolbarSelectableItemIdentifiers:
method, and you can create a tab view without showing tabs, switching between tabs programmatically.
来源:https://stackoverflow.com/questions/5379338/cocoa-tab-view-with-toolbar-icons-for-switching-tabs