UISegmentedControl deselect (make none of the segments selected) UISegmentedControl deselect (make none of the segments selected) xcode xcode

UISegmentedControl deselect (make none of the segments selected)


The right way to do this is:

[menu setSelectedSegmentIndex:UISegmentedControlNoSegment];


Setting the segmentedControl to .momentary = YES changes the way the user can interact with the segmentedControl. If you want to have nothing selected initially when the page loads but have segmentedControl behave the same after a selection is made by the user then you will want something more like this:

Swift 4 solution:

 @IBOutlet weak var segmentedControl: UISegmentedControl! self.segmentedControl.selectedSegmentIndex = UISegmentedControlNoSegment

Swift 5.1:

 self.segmentedControl.selectedSegmentIndex = UISegmentedControl.noSegment


I guess you try to create a momentary selection in segmented control.In interface builder set the segmentedcontrol to momentary.Or in code you can do:

menu.momentary = YES;