就像标题中所说的那样,我正在尝试根据日期设置所选的细分控件。我的细分受众群控制包括星期几,我也有日期和时间标签。打开视图时必须选择适当的日期
我知道我必须采取以下措施:
segmentControl.selectedSegmentIndex = 0
我要和以下人约会:
showDate.text = "Date: " + DateFormatter.localizedString(from: Date(), dateStyle: DateFormatter.Style.medium, timeStyle: .none)
但是我不确定如何将selectedIndex设置为依赖于日期并显示适当的日期。我仍然是新手,仍然可以快速学习,任何帮助将不胜感激!谢谢
答案 0 :(得分:1)
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
}