KPCTabsControl • KPCJumpBarControl • KPCSplitPanes • KPCAppTermination • KPCSearchableOutlineView • KPCImportSheetController
KPCTabsControl
A multi-tabs control first designed to look and behave like the tab control in Apple's Numbers spreadsheet, with enhanced capabilities, but now with new tab styles, such as Chrome & Safari, as well as custom ones.
On master, you'll find the latest Swift4 releases. If you need to stay with Swift2, switch to the swift-2.2 branch. If you need to stay with Swift3, switch to the swift-3.1 branch.
KPCTabsControl provides the following features:
- Custom styles and themes! Default (Numbers.app-like), Chrome and Safari are provided. But you can easily write your own!
- Styles & themes comprise title styles, title editor style, (un)selected/unselectable backgrounds, borders, colors, fonts etc.
- Common dataSource/delegate Cocoa APIs
- Tabs can span the whole view width, or be flexible inside min&max.
- Tabs can be reordered, and renamed in place.
- When provided, the title can be replaced by an alternative icon when the width is too narrow for the title to be drawn.
Documentation
The documentation generated from the code itself is available at http://onekiloparsec.github.io/KPCTabsControl.
Installation
Using Carthage: add github "onekiloparsec/KPCTabsControl"
to your Cartfile
and then run carthage update
.
Using CocoaPods: pod 'KPCTabsControl'
.
Usage
KPCTabsControl is designed for you to use only the KPCTabsControl
class, and its associated data source methods. Simply place a NSView
in a xib, where you need tabs, change its class to KPCTabsControl
and assign its dataSource property. Then implement the data source methods in your controller.
You can also assign a delegate if you want to play with the editing and the reordering of the tab titles.
Authors
Cédric Foellmi (@onekiloparsec)
Christian Tietze (@ctietze)
LICENSE & NOTES
KPCTabsControl is licensed under the MIT license and hosted on GitHub at https://github.com/onekiloparsec/KPCTabsControl/ Fork the project and feel free to send pull requests with your changes!