TestsTested | ✗ |
LangLanguage | SwiftSwift |
License | MIT |
ReleasedLast Release | May 2016 |
SPMSupports SPM | ✗ |
Maintained by svetlanama.
ASSliderSegmentControl is available through CocoaPods. To install it, simply add the following line to your Podfile:
pod "ASSliderSegmentControl"
To run the example project, clone the repo, and run pod install
from the Example directory first.
// create ASSliderSegmentControl with titles
lazy var segmentControl: ASSliderSegmentControl = {
let segmentControl = ASSliderSegmentControl(frame:
CGRect( x: 0, y: 0, width: self.view.bounds.width, height: self.navigationView.bounds.height),
titleItems: [
"Discover",
"Home",
"Settings"
])
return segmentControl
}()
// create ASSliderSegmentControl with images
lazy var segmentControlImage: ASSliderSegmentControl = {
let segmentControl = ASSliderSegmentControl(frame:
CGRect(x: 0, y: 0, width: self.view.bounds.width, height: self.navigationView.bounds.height),
imageItems: [
UIImage(named: "search")!,
UIImage(named: "home")!,
UIImage(named: "settings")!
],
imageItemsHighlighted: [
UIImage(named: "search_selected")!,
UIImage(named: "home_selected")!,
UIImage(named: "settings_selected")!
])
return segmentControl
}()
navigationView.addSubview(segmentControl)
// remove separator line
segmentControl.displaySeparator = false
// remove selected line
segmentControl.isSelectorLine = false
//Customize control appearance
segmentControl.setAppearance (
UIColor.clearColor(),
selectedBackgroundColor: UIColor.clearColor(),
textColor: UIColor(named: UIColor.AppColor.LinkWater).colorWithAlphaComponent(0.3),
font: UIFont(name: "Helvetica", size: 17)!,
selectedTextColor: UIColor(named: UIColor.AppColor.BisonHide),
selectedFont:UIFont(name: "Helvetica", size: 17)!,
bottomLineColor: UIColor(named: UIColor.AppColor.LinkWater),
selectorColor: UIColor(named: UIColor.AppColor.BisonHide),
bottomLineHeight: 0.5,
selectorHeight: 3
)
// Or just change some parts like background color, text color, font, titleEdges, imageEdges
segmentControl.changeBackgroundControlStyle(UIColor.clearColor(), selectedBackgroundColor: UIColor(named:UIColor.AppColor.LinkWater).colorWithAlphaComponent(0.1))
// To react control's selector on page scrolling
func pageViewController(pageViewController: PageViewController, didUpdateScroll scrollView: UIScrollView) {
segmentControl.moveSelectorLine(scrollView, targetView: view)
}
// Additionaly if it need you can update constraints manually
override func viewDidLayoutSubviews() {
super.viewDidLayoutSubviews()
segmentControl.updateControlConstraints()
}
https://github.com/svetlanama/ASPageControllerSample
https://github.com/yemeksepeti/YSSegmentedControl
ASSliderSegmentControl is available under the MIT license. See the LICENSE file for more info.