我必须在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),它都是完美的。 最佳答案
请尝试刷新布局:
setNeedsLayout();