SWSegmentedControl icon indicating copy to clipboard operation
SWSegmentedControl copied to clipboard

- ?

Open amajeedmuazu opened this issue 8 years ago • 2 comments

How to set delegate or selection changed method?

amajeedmuazu avatar Dec 29 '16 11:12 amajeedmuazu

Need some help here! Author, please =)

D-Link13 avatar Apr 08 '17 06:04 D-Link13

Here is how I had accomplished this task...

  1. Add a protocol to the top of SWSegmentedControl.swift file:
public protocol SWSegmentedControlDelegate {
    func segmentControl(_segmentControl: SWSegmentedControl, didSelectSegmentAt index: Int)
}
  1. Add a delegate property to the SWSegmentedControl: public var delegate: SWSegmentedControlDelegate!
  2. Add this line of code to the bottom of didTapButton(_ button: UIButton): self.delegate?.segmentControl(_segmentControl: self, didSelectSegmentAt: self.selectedSegmentIndex)
  3. Add this extension to the object that will delegate selections:
extension YourObject: SWSegmentedControlDelegate {
    func segmentControl(_segmentControl: SWSegmentedControl, didSelectSegmentAt index: Int) {
        // do things
    }
}
  1. Finally set the delegate:
var segmentedControl: SWSegmentedControl {
   let sc = SWSegmentedControl(items: ["item1", "item2"])
   sc.delegate = self
   return sc
}

D-Link13 avatar Apr 08 '17 09:04 D-Link13