UIDatePicker 模式 countDownTimer 值更改回调未第一次调用

Saa*_*hir 6 ios swift

我在 UIDatePicker 模式 .countdownTimer 中遇到这个奇怪的问题

在此输入图像描述

当我向 datePicker 视图添加上/下/左/右约束时,第一次未注册回调。但是,如果我仅添加对齐约束,则回调每次都会起作用。也许它是一个错误。知道为什么它不起作用吗?

import UIKit

class ViewController: UIViewController {

    @IBOutlet weak var datePicker: UIDatePicker!
    
    override func viewDidLoad() {
        super.viewDidLoad()
        datePicker.datePickerMode = .countDownTimer
        datePicker.addTarget(self, action: #selector(datePickerValueChanged(_:)), for: .valueChanged)

    }

    @objc func datePickerValueChanged(_ sender: UIDatePicker){
        print("Selected value \(sender.countDownDuration)")
    }
}

Run Code Online (Sandbox Code Playgroud)

And*_*jen 3

好吧,这是 iOS 中一个长期已知的错误,从 iOS 7 左右开始。如果您将以下内容放入其中,您可以解决您的情况viewDidLoad

DispatchQueue.main.async {
    self.datePicker.countDownDuration = self.datePicker.countDownDuration
}
Run Code Online (Sandbox Code Playgroud)

看起来很恶心,而且确实很恶心。