A Android-like tab bar, drop-in replacement for UISegmentedControl written in Swift.
Requires iOS 8.0 and ARC.
SWSegmentedControl is available through CocoaPods. To install it, simply add the following line to your Podfile:
pod "SWSegmentedControl"SWSegmentedControl can only be init in code due to the limitation of @IBDesignable which can't generate array of item like what UISegmentedControl can do, but I make it renderable anyway just in case you want to play around with it.
let sc = SWSegmentedControl(items: ["A", "B", "C"])
sc.frame = CGRect(x: 0, y: 0, width: 300, height: 44)
sc.selectedSegmentIndex = 2 // default to 0Setting property directly will change segment without animation
sc.selectedSegmentIndex = 1If you want fine-grain control over animation, you can use setSelectedSegmentIndex(index: Int, animated: Bool
sc.setSelectedSegmentIndex(1, animated: true)By default both text and indicator color are the same with tintColor. If you want to change theme independently you can use titleColor and indicatorColor and you can also change font by set font.
Sarun Wongpatcharapakorn (artwork.th@gmail.com) Twitter: @sarunw
SWSegmentedControl is available under the MIT license. See the LICENSE file for more info.
