如何在UISegmentedControl中设置所选段索引?

41

我在尽力避免应用程序崩溃... 我有一个按钮,可以从UISegmentedControl中删除一个分段。如果用户选择了要删除的分段,并按下该按钮,则该分段将被删除,没有选择会被突出显示。但是,当按下执行检索selectedSegmentIndex操作的另一个按钮时,应用程序会崩溃。

简而言之:有没有办法强制选择一个UISegmentedControl中的分段?

编辑 看起来当没有选择任何分段时,UISegmentedControl会返回一个-1的selectedSegmentIndex...让我们从这里开始研究一下。

2个回答

88

使用yourSegmentname.selectedSegmentIndex = 1;或者你想要的任何分段。


3
这将把UISegment的选定索引更改为1,但该段不会被标记为选定。如果您有解决方案,请分享。 - Nijar

4

这段代码适用于 Swift 2.0 版本。

@IBOutlet weak var segmentcontroll: UISegmentedControl!
    @IBAction func segmentneeded(sender: AnyObject)
        {

            if(segmentcontroll.selectedSegmentIndex==0)
            {
                self.view.backgroundColor=UIColor.purpleColor()
                segmentcontroll.selectedSegmentIndex=UISegmentedControlNoSegment
            }
            else if(segmentcontroll.selectedSegmentIndex==1)
            {
                    self.view.backgroundColor=UIColor.yellowColor()
                            segmentcontroll.selectedSegmentIndex=UISegmentedControlNoSegment
            }
            else
            {
                self.view.backgroundColor=UIColor.grayColor()
                            segmentcontroll.selectedSegmentIndex=UISegmentedControlNoSegment
            }
        }

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接