UISegmentedControl selectedIndex 总是显示 0
UISegmentedControl selectedIndex always showing 0
刚开始学习iOS。我以编程方式创建了一个 UISegmentedControl 并用两个项目对其进行了初始化。我好像不太明白为什么选择的索引总是显示0。
这是我的代码:
let items = ["Watchlist", "Favorites"]
var segmentedControl: UISegmentedControl {
let sc = UISegmentedControl(items: items)
sc.selectedSegmentIndex = 0
sc.addTarget(self, action: #selector(handleSegmentChange), for: .valueChanged)
return sc
}
// Action for segment change
@objc fileprivate func handleSegmentChange() {
print(segmentedControl.selectedSegmentIndex)
}
分段控件定义为 computed property,每次访问时都会创建一个新的 UISegmentedControl
实例,selectedSegmentIndex
值设置为 0。尝试使用 属性 初始化闭包:
let segmentedControl: UISegmentedControl = {
let sc = UISegmentedControl(items: items)
sc.selectedSegmentIndex = 0
sc.addTarget(self, action: #selector(handleSegmentChange), for: .valueChanged)
return sc
}()
刚开始学习iOS。我以编程方式创建了一个 UISegmentedControl 并用两个项目对其进行了初始化。我好像不太明白为什么选择的索引总是显示0。
这是我的代码:
let items = ["Watchlist", "Favorites"]
var segmentedControl: UISegmentedControl {
let sc = UISegmentedControl(items: items)
sc.selectedSegmentIndex = 0
sc.addTarget(self, action: #selector(handleSegmentChange), for: .valueChanged)
return sc
}
// Action for segment change
@objc fileprivate func handleSegmentChange() {
print(segmentedControl.selectedSegmentIndex)
}
分段控件定义为 computed property,每次访问时都会创建一个新的 UISegmentedControl
实例,selectedSegmentIndex
值设置为 0。尝试使用 属性 初始化闭包:
let segmentedControl: UISegmentedControl = {
let sc = UISegmentedControl(items: items)
sc.selectedSegmentIndex = 0
sc.addTarget(self, action: #selector(handleSegmentChange), for: .valueChanged)
return sc
}()