41

ここでアプリのクラッシュを回避しようとしています...UISegmentedControlからセグメントを削除するボタンがあります。そのボタンが押され、ユーザーが削除するセグメントを選択している場合、セグメントは削除され、選択は強調表示されません。ただし、selectedSegmentIndexを取得するアクションを実行する別のボタンを押すと、アプリがクラッシュします。

つまり、UISegmentedControlでセグメントを強制的に選択する方法はありますか?

セグメントが選択されていないときにUISegmentedControlが-1のselectedSegmentIndexを返しているように編集します...ここから何ができるか見てみましょう。

4

2 に答える 2

87

Use yourSegmentname.selectedSegmentIndex = 1; or whichever segment you want.

于 2010-06-09T19:00:54.110 に答える
3

このコードは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
            }
        }
于 2016-03-21T12:57:11.027 に答える