gpt4 book ai didi

objective-c - UIDatePicker 具有 15m 间隔但总是准确的时间作为返回值

转载 作者:IT王子 更新时间:2023-10-29 08:14:41 24 4
gpt4 key购买 nike

我有一个时间模式的 UIDatePicker,间隔为 15 分钟。

假设现在是晚上 7:22。日期选择器默认显示的值是四舍五入到下一个更高/更低值的当前时间,在本例中为晚上 7:15。如果用户与日期选择器交互,则显示的值也是返回的值。但是,如果没有任何用户交互,并且我使用 [UIDatePicker date] 获取时间,则返回值是准确的当前时间,即 7:22 坚持这个例子。

有没有办法始终获取日期选择器上实际显示的值而不是当前未舍入的时间,即使用户没有明确选择值?

我已经尝试使用 [UIDatePicker setDate:[NSDate date]] 手动设置选择器,但这不会改变行为。

最佳答案

我修改了@ima747 对 Swift 3/4 的回答,并将其作为 UIDatePicker 的扩展。 picker.clampedDate

extension UIDatePicker {
/// Returns the date that reflects the displayed date clamped to the `minuteInterval` of the picker.
/// - note: Adapted from [ima747's](http://stackoverflow.com/users/463183/ima747) answer on [Stack Overflow](http://stackoverflow.com/questions/7504060/uidatepicker-with-15m-interval-but-always-exact-time-as-return-value/42263214#42263214})
public var clampedDate: Date {
let referenceTimeInterval = self.date.timeIntervalSinceReferenceDate
let remainingSeconds = referenceTimeInterval.truncatingRemainder(dividingBy: TimeInterval(minuteInterval*60))
let timeRoundedToInterval = referenceTimeInterval - remainingSeconds
return Date(timeIntervalSinceReferenceDate: timeRoundedToInterval)
}
}

关于objective-c - UIDatePicker 具有 15m 间隔但总是准确的时间作为返回值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7504060/

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