UISegment Control - 根据天 (SWIFT) 设置选择



就像标题所说,我正在尝试根据日期设置选定的段控件。我的区段控件包括星期几,我还有一个日期和时间标签。打开视图时必须选择适当的日期

我知道我必须做点什么:

segmentControl.selectedSegmentIndex = 0

我正在得到日期:

showDate.text = "Date:  " + DateFormatter.localizedString(from: Date(), dateStyle: DateFormatter.Style.medium, timeStyle: .none)

但我不确定如何将所选索引设置为依赖于日期并显示适当的日期。我仍然是 swift 的新手,仍在学习,任何帮助将不胜感激!谢谢

UISegmentedControl索引从 0 开始。如果你有一周中的所有日子,它的索引从 0 开始,以 6 结束。

您可以使用此方法获取工作日的索引

let day = Calendar.current.component(.weekday, from: Date())

这为星期日返回 1,为星期一返回 2...周六 7 个

因此,您可以按如下方式分配selectedSegmentIndex

    if (2...6).contains(day) {
        segmentControl.selectedSegmentIndex = day-2
    } else {
        segmentControl.selectedSegmentIndex = UISegmentedControlNoSegment
    }

最新更新