SWSegmentedControl
SWSegmentedControl copied to clipboard
- ?
How to set delegate or selection changed method?
Need some help here! Author, please =)
Here is how I had accomplished this task...
- Add a protocol to the top of SWSegmentedControl.swift file:
public protocol SWSegmentedControlDelegate {
func segmentControl(_segmentControl: SWSegmentedControl, didSelectSegmentAt index: Int)
}
- Add a delegate property to the SWSegmentedControl:
public var delegate: SWSegmentedControlDelegate! - Add this line of code to the bottom of
didTapButton(_ button: UIButton):self.delegate?.segmentControl(_segmentControl: self, didSelectSegmentAt: self.selectedSegmentIndex) - Add this extension to the object that will delegate selections:
extension YourObject: SWSegmentedControlDelegate {
func segmentControl(_segmentControl: SWSegmentedControl, didSelectSegmentAt index: Int) {
// do things
}
}
- Finally set the delegate:
var segmentedControl: SWSegmentedControl {
let sc = SWSegmentedControl(items: ["item1", "item2"])
sc.delegate = self
return sc
}