首页 > 解决方案 > 如何在 iOS 14 的内联样式日期选择器顶部设置时间选择器?

问题描述

我已经为 iOS 14 设置了内联样式日期。在这个日期选择器中,计时器选择器显示在底部。我想在内联样式日期选择器顶部显示该时间选择器,就像在 iOS 默认日历应用程序中显示一样。

我的应用程序屏幕截图: 在此处输入图像描述

iOS 默认日历应用截图: 在此处输入图像描述

标签: iosobjective-cswiftuidatepickerios14

解决方案


UIKit不正式支持内联日期选择器上方的时间选择器UIDatePicker

但是,您可以只创建 2 个日期选择器,一个用于日期,一个用于时间,然后根据需要进行排列。

我制作的这段代码可能会对您有所帮助:

let time = timePicker.date
var date = datePicker.date
date = Calendar.current.startOfDay(for: date)

let calendar = Calendar.current

var timeInterval: TimeInterval = 0
timeInterval += Double(calendar.component(.second, from: time))
timeInterval += Double(calendar.component(.minute, from: time)) * 60
timeInterval += Double(calendar.component(.hour, from: time)) * 3600

date.addTimeInterval(timeInterval)

然后使用变量date,一切都应该像在常规日期和时间日期选择器中一样工作。


推荐阅读