Я должен выбрать UISegmentedControl
индекс программно на viewWillAppear()
.
switch shirtSize {
case ProfilingPreferredShirtSize.xs.rawValue:
shirtSizeSegmentedControl.selectedSegmentIndex = 0
case ProfilingPreferredShirtSize.s.rawValue:
shirtSizeSegmentedControl.selectedSegmentIndex = 1
case ProfilingPreferredShirtSize.m.rawValue:
shirtSizeSegmentedControl.selectedSegmentIndex = 2
case ProfilingPreferredShirtSize.l.rawValue:
shirtSizeSegmentedControl.selectedSegmentIndex = 3
case ProfilingPreferredShirtSize.xl.rawValue:
shirtSizeSegmentedControl.selectedSegmentIndex = 4
default:
break
}
Когда выбран последний индекс (4), соответствующий сегмент не выбирается графически. Когда я вручную нажимаю на последний сегмент, он становится выбранным, но обратный вызов valueChange
не вызывается. Это означает, что selectedSegmentIndex
уже был установлен, и это просто графическая ошибка. Что я могу сделать? Для всех остальных значений (0-3) это прекрасно работает.