我有两个分段控件叠在一起,每个控件有两个选项,所以搜索字段有一个2x2的筛选选项网格。这样做一直很好用,但我刚刚更新到Xcode 11,当我尝试根据用户选择更新它时,
显示新的不正确行为这里。
之前可以正常工作的当前代码:
UISegmentedControl.noSegment
就停止工作了。但是,在属性观察器中将初始值设置为.noSegment
时,它可以工作。 isMomentary
设置为false。所有outlet都正确设置。我是否忽略了UISegmentedControl
行为的某些更新,还是这是一个错误?显示新的不正确行为这里。
之前可以正常工作的当前代码:
@IBOutlet private weak var segmentedControlOne: UISegmentedControl!
@IBOutlet private weak var segmentedControlTwo: UISegmentedControl! {
didSet {
// Start with no segment selected on this control. This works!
segmentedControlTwo.selectedSegmentIndex = -1
}
}
@IBAction private func oneIndexChanged(_ sender: UISegmentedControl) {
//Turn off selection on second control while first is selected
segmentedControlTwo.selectedSegmentIndex = UISegmentedControl.noSegment
let i = sender.selectedSegmentIndex
if i == 0 {
searchType = .users
} else {
searchType = .contributors
}
}
@IBAction private func twoIndexChanged(_ sender: UISegmentedControl) {
//Turn off selection on first control while second is selected
segmentedControlOne.selectedSegmentIndex = UISegmentedControl.noSegment
let i = sender.selectedSegmentIndex
if i == 0 {
searchType = .articles
} else {
searchType = .categories
}
}
setNeedsLayout
。 - matt