使用 Xcode 12.4 无法正确设置 UIDatePicker 宽度

UIDatePicker width is not going to set properly by using Xcode 12.4

我使用代码创建日期选择器。使用 Xcode 11.6 编译应用程序时 正确设置 日期选择器框架,但是当使用 Xcode 12.2 或更高版本编译应用程序时,日期选择器 width 会导致问题 Check this image.

        let screenWidth = self.view.frame.width
        let screenHeight = self.view.frame.height

        datePicker = UIDatePicker(frame: CGRect(x: 0, y: screenHeight - 216 - 44, width: screenWidth, height: 216))
        if #available(iOS 13.4, *) {
            datePicker.frame = CGRect(x: 0, y: screenHeight - 216 - 44, width: screenWidth, height: 216)
            datePicker.preferredDatePickerStyle = .wheels
        }
        datePicker.datePickerMode = .date
        datePicker.minimumDate = getTwoWeekOldDateFormCurrentDate()
        datePicker.backgroundColor = UIColor.white
        datePicker.setValue(UIColor.black, forKeyPath: "textColor")
        self.view.addSubview(datePicker)

我知道,我在代码中添加了两个时间框架方法,它将用于 iOS 13.4 及更高版本。

在您的 viewController.

中添加以下代码
override func viewDidLayoutSubviews() {
    let screenWidth = self.view.frame.width
    let screenHeight = self.view.frame.height
    datePicker.frame = CGRect(x: 0, y: screenHeight - 216 - 44, width: screenWidth, height: 216)
}