gpt4 book ai didi

swift - UISegmentedControl selectedIndex 总是显示 0

转载 作者:行者123 更新时间:2023-11-28 05:43:18 25 4
gpt4 key购买 nike

刚开始学习 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
}()

关于swift - UISegmentedControl selectedIndex 总是显示 0,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/55802811/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com