其实标题包含我的问题。 我有一个UISegmentedControl,并需要取消选择当前选定的选项卡。 我想:

[menu setSelectedSegmentIndex:-1];

菜单是为uisegmentedcontrol的UBOutlet但是这给了我的异常。 任何人有一些想法? 谢谢 彼得

有帮助吗?

解决方案

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

其他提示

要做到这一点的合适的方法是:

[menu setSelectedSegmentIndex:UISegmentedControlNoSegment];

我猜你尝试创建分段控制一时的选择。 在Interface Builder设置segmentedcontrol瞬间的。 或代码,你可以这样做:

menu.momentary = YES;

设置segmentedControl到.momentary = YES改变用户可以与segmentedControl交互的方式。如果你想有没有什么初步选定在页面加载时,但有segmentedControl行为相同的选择是由用户制作,那么你将想要的东西更像是在此之后:

<强>夫特4溶液

 @IBOutlet weak var segmentedControl: UISegmentedControl!

 self.segmentedControl.selectedSegmentIndex = UISegmentedControlNoSegment

现在可以在界面生成器做到这一点在xcode的6:

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

在夫特溶液:@IBOutlet weak var mySegmentedControl: UISegmentedControl!mySegmentedControl.selectedSegmentIndex = -1

迅速4

@IBOutlet weak var segmentControl: UISegmentedControl! {
    didSet {
        segmentControl.selectedSegmentIndex = UISegmentedControl.noSegment
    }
}
许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top