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

标签 ios swift

我在 UIDatePicker 模式下遇到了这个奇怪的问题 .countdownTimer
enter image description here
当我在 datePicker View 中添加上/下/左/右约束时,第一次没有注册回调。但是,如果我只添加对齐约束,则回调每次都有效。也许它是一个错误。知道为什么它不起作用吗?

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)")
    }
}

最佳答案

好的,从 iOS 7 左右开始,这是 iOS 中一个久为人知的错误。
如果您将以下内容放入 viewDidLoad 中,则可以解决您的情况。 :

DispatchQueue.main.async {
    self.datePicker.countDownDuration = self.datePicker.countDownDuration
}
看起来很恶心,也很恶心。

关于ios - UIDatePicker 模式 countDownTimer 值更改回调未第一次调用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/63011877/

相关文章:

swift - 为什么我不能像 Swift 中的泛型类那样声明泛型协议(protocol)类型?

ios - 滚动时 Collection View 单元格重复

swift - 不能重复使用 SFSpeechAudioBufferRecognitionRequest

swift - Eureka : cannot convert value of type 'BaseRow?' to specified type 'CustomPushRow?'

ios - 无法在 iOS 应用程序中打开 Google map

iOS——如何更改 webRTC 中的视频分辨率?

ios - 在没有CloudKit仪表板的情况下管理数据库?

iphone - 舍入到 "beautiful"值

objective-c - 以编程方式将图像添加到 TableView 单元格

objective-c - 在 AFNetworking 中暂停下载 - objective-c