Подтвердить что ты не робот

UISegmentedControl отменяет выбор (не делает ни одного из выбранных сегментов)

на самом деле название содержит мой вопрос. У меня есть UISegmentedControl, и вам нужно отменить выбор выбранной вкладки. Я пробовал:

[menu setSelectedSegmentIndex:-1];

- это UBOutlet для uisegmentedcontrol, но это дает мне исключение. у кого есть идея? благодаря питер

4b9b3361

Ответ 1

Я бы предположил, что вы вызвали [myArray length] вместо правильного [myArray count] где-то в вашем коде. NSArray использует метод count, а не длину для количества содержащихся в нем элементов.

Ответ 2

Правильный способ сделать это:

[menu setSelectedSegmentIndex:UISegmentedControlNoSegment];

Ответ 3

Я думаю, вы пытаетесь создать мгновенный выбор в сегментированном управлении. В построителе интерфейса установите segmentedcontrol на мгновение. Или в коде вы можете сделать:

menu.momentary = YES;

Ответ 4

Установка для .momentary = YES изменяет способ взаимодействия пользователя с segmentedControl. Если вы хотите, чтобы изначально ничего не выбиралось при загрузке страницы, но segmentedControl ведет себя одинаково после того, как выбор сделан пользователем, тогда вам нужно что-то более похожее на это:

Решение Swift 4:

 @IBOutlet weak var segmentedControl: UISegmentedControl!

 self.segmentedControl.selectedSegmentIndex = UISegmentedControlNoSegment

Ответ 5

Теперь вы можете сделать это в xcode 6 в построителе интерфейса:

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

Ответ 6

Решение Swift: @IBOutlet weak var mySegmentedControl: UISegmentedControl! и mySegmentedControl.selectedSegmentIndex = -1.

Ответ 7

Свифт 4

@IBOutlet weak var segmentControl: UISegmentedControl! {
    didSet {
        segmentControl.selectedSegmentIndex = UISegmentedControl.noSegment
    }
}