微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

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

如何解决使用 Xcode 12.4 无法正确设置 UIDatePicker 宽度

我使用代码创建日期选择器。使用 Xcode 11.6 编译应用程序时,日期选择器框架设置正确,但当应用程序使用 Xcode 12.2 或更高版本编译时,日期选择器宽度会导致问题 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,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)
}

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。