UISegmentedControl取消select(不select任何段)

实际上标题包含我的问题。 我有一个UISegmentedControl,并需要取消select当前选定的选项卡。 我试过了:

[menu setSelectedSegmentIndex:-1]; 

菜单是uisegulatedcontrol的UBOutlet,但是这给了我例外。 任何人有一些想法? 谢谢彼得

我会假设你已经调用了[myArray length]而不是在你的代码中正确的[myArray count] 。 NSArray使用计数方法,而不是它包含的项目数量的长度。

正确的做法是:

 [menu setSelectedSegmentIndex:UISegmentedControlNoSegment]; 

我想你尝试在分段控制中创build一个瞬间的select。 在界面生成器中,将分段控制设置为瞬时。 或者在代码中你可以这样做:

 menu.momentary = YES; 

Swift解决scheme:

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

您现在可以在界面构build器的xcode 6中执行此操作:

Deselect the 'Selected' option under segmented control behaviour in attributes inspector.

Swift解决scheme: @IBOutlet weak var mySegmentedControl: UISegmentedControl!mySegmentedControl.selectedSegmentIndex = -1