Как установить индекс выбранного сегмента в UISegmentedControl? - PullRequest
34 голосов
/ 11 февраля 2010

Я пытаюсь избежать сбоя приложения здесь ... У меня есть кнопка, которая удаляет сегмент из UISegmentedControl. Если эта кнопка нажата, и пользователь выбрал сегмент, который должен быть удален, сегмент будет удален, и выбор не будет выделен. Однако при нажатии другой кнопки, которая выполняет действие, которое извлекает selectedSegmentIndex, приложение вылетает.

Вкратце: есть ли способ принудительного выбора сегмента в UISegmentedControl?

edit кажется, что UISegmentedControl возвращает selectedSegmentIndex, равный -1, когда ни один сегмент не выбран ... посмотрим, что я могу сделать здесь.

Ответы [ 2 ]

75 голосов
/ 09 июня 2010

Используйте как это .. yourSegmentname.selectedSegmentIndex = 1; // или какой сегмент вы хотите

3 голосов
/ 21 марта 2016

Этот код для быстрой 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
            }
        }
...