UISegmentedControl selectedIndex始终显示0

时间:2019-04-23 00:44:17

标签: swift uisegmentedcontrol

刚开始学习iOS。我已经以编程方式创建了一个UISegmentedControl,并用两个项目对其进行了初始化。我似乎不明白为什么所选索引总是显示0。

这是我的代码:

Attempted import error: 'PathResolver' is not exported from '/path'.

1 个答案:

答案 0 :(得分:1)

分段控件定义为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
}()