Skip to content

LeonardoCardoso/SectionedSlider

Repository files navigation

SectionedSlider

iOS watchOS

Platform CocoaPods Carthage Compatible

Control Center Slider

Requirements

  • iOS 8.0+
  • Swift 3.0+
  • Xcode 8.0+

Installation

CocoaPods

CocoaPods is a dependency manager for Cocoa projects. You can install it with the following command:

$ gem install cocoapods

CocoaPods 1.1.0+ is required to build SectionedSlider 0.0.5+.

To integrate SectionedSlider into your Xcode project using CocoaPods, specify it in your Podfile:

source 'https://github.com/CocoaPods/Specs.git'
platform :ios, '8.0'
use_frameworks!

pod 'SectionedSlider', '~> 0.0.5'

Then, run the following command:

$ pod install

Carthage

Carthage is a decentralized dependency manager that automates the process of adding frameworks to your Cocoa application.

You can install Carthage with Homebrew using the following command:

$ brew update
$ brew install carthage

To integrate SectionedSlider into your Xcode project using Carthage, specify it in your Cartfile:

github "LeonardoCardoso/SectionedSlider" ~> 0.0.5

Manually

If you prefer not to use either of the aforementioned dependency managers, you can integrate SectionedSlider into your project manually.

Usage

You can use a SectionedSlider on Storyboards or, if you want to do it programatically, you can create it just like you create a UIView:

SectionedSlider(
    frame: CGRect(x: 0, y: 0, width: 78, height: 200), // Choose a 15.6 / 40 ration for width/height
    selectedSection: 3, // Initial selected section
    sections: 10 // Number of sections. Choose between 2 and 20
)

Palette

You also can customize the colors of the button on its constructor.

SectionedSlider(
    frame: wrapView.frame,
    selectedSection: 3,
    sections: 10,
    palette: Palette(
        viewBackgroundColor: UIColor?,
        sliderBackgroundColor: UIColor?,
        sliderColor: UIColor?
    )
)

palette

Delegate

You can watch changes of state by implementing the protocol:

public protocol SectionedSliderDelegate {
    
	func sectionChanged(slider: SectionedSlider, selected: Int)
    
}

Storyboard

Last but not least, you can customize SectionedSlider properties right from Interface Builder or Storyboards.

storyboard

License

SectionedSlider is released under the MIT license. See LICENSE for details.