UIDatePicker 在 macCatalyst 中不起作用(Xcode 11 Beta 5)

Har*_*kar 8 catalyst uidatepicker swift xcode11 uikitformac

我们正在使用 xcode 11 beta 5 中的催化剂 swift 将我们的 iOS 应用程序转换为 macCatalyst 兼容。

我们遇到了默认 DatePicker 未显示在窗口中的问题。

我正在为 mac 尝试这个解决方案,它会在视图中添加日期选择器,但我想要另一个合适的解决方案。还有什么建议吗?

func datepickerWillLoad() {
        self.datePicker.datePickerMode = .date
        self.datePicker.maximumDate = Date()
        self.datePicker.backgroundColor = UIColor.Theme.lightBackground
        self.datePicker.setValue(UIColor.Theme.whiteColor, forKeyPath: "textColor")
        self.datePicker.addTarget(self, action: #selector(didChangedDatePickerValue), for: .valueChanged)

        //if user open picker and without change click on done
        self.dateOfBirthTextField.addTarget(self, action: #selector(didChangedDatePickerValue), for: .editingDidEnd)

        #if targetEnvironment(macCatalyst)
            datePicker.frame = CGRect(x: 0, y: self.view.frame.height - 200 , width: self.view.frame.width, height: 200)
            self.view.addSubview(datePicker)
        #else
            self.dateOfBirthTextField.inputView = datePicker
        #endif
    }
Run Code Online (Sandbox Code Playgroud)

gbo*_*tha 0

我发现,如果我使用 self.datePicker.setValue(UIColor.Theme.whiteColor, forKeyPath: "textColor") 设置日期选择器文本颜色,那么这会导致应用程序在加载视图时崩溃。尝试删除该行代码,它应该可以与 mac Catalyst 一起使用。