SegmentedControl is a highly customizable segmented control for iOS applications.
Specify "SegmentedControl" in your Cartfile
:
github "teambition/SegmentedControl"
let titles: [NSAttributedString] = ...
let selectedTitles: [NSAttributedString] = ...
// for storyboard
segmentedControl.setTitles(titles, selectedTitles: selectedTitles)
// programmatically
let segmentedControl = SegmentedControl.initWithTitles(titles, selectedTitles: selectedTitles)
// assign delegate
segmentedControl.delegate = self
// configure selection box if needed, the default style is 'none'
segmentedControl.selectionBoxStyle = .default
segmentedControl.selectionBoxColor = UIColor(white: 0.62, alpha: 1)
segmentedControl.selectionBoxCornerRadius = 15 // default is 0
segmentedControl.selectionBoxEdgeInsets = UIEdgeInsets(top: 0, left: 20, bottom: 0, right: 20) // default is UIEdgeInsets.zero
// configure selection indicator if needed, the default style is 'none'
segmentedControl.selectionIndicatorStyle = .top
segmentedControl.selectionIndicatorColor = UIColor(white: 0.3, alpha: 1)
segmentedControl.selectionIndicatorHeight = 3 // default is 5
segmentedControl.selectionIndicatorEdgeInsets = UIEdgeInsets(top: 0, left: 20, bottom: 0, right: 20) // default is UIEdgeInsets.zero
let images = ...
let selectedImages = ...
// for storyboard
segmentedControl.setImages(images, selectedImages: selectedImages)
// programmatically
let segmentedControl = SegmentedControl.initWithImages(images, selectedImages: selectedImages)
// assign delegate
segmentedControl.delegate = self
// configure selection box if needed, the default style is 'none'
segmentedControl.selectionBoxStyle = .default
segmentedControl.selectionBoxColor = UIColor.lightGray
segmentedControl.selectionBoxCornerRadius = 15 // default is 0
segmentedControl.selectionBoxEdgeInsets = UIEdgeInsets(top: 0, left: 20, bottom: 0, right: 20) // default is UIEdgeInsets.zero
// configure selection indicator if needed, the default style is 'none'
segmentedControl.selectionIndicatorStyle = .bottom
segmentedControl.selectionIndicatorColor = UIColor.darkGray
segmentedControl.selectionIndicatorHeight = 3 // default is 5
segmentedControl.selectionIndicatorEdgeInsets = UIEdgeInsets(top: 0, left: 20, bottom: 0, right: 20) // default is UIEdgeInsets.zero
func segmentedControl(_ segmentedControl: SegmentedControl, didSelectIndex selectedIndex: Int) {
// do something
}
func segmentedControl(_ segmentedControl: SegmentedControl, didLongPressIndex longPressIndex: Int) {
// do something
}
iOS 8.0
SegmentedControl is released under the MIT license. See LICENSE for details.
Have a question? Please open an issue!