8

xcode 11 beta 5 でCatalyst 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
    }
4

2 に答える 2

0

datepicker のテキストの色を self.datePicker.setValue(UIColor.Theme.whiteColor, forKeyPath: "textColor") で設定すると、ビューの読み込み時にアプリがクラッシュすることがわかりました。そのコード行を削除してみると、Mac Catalyst で動作するはずです。

于 2020-04-07T00:23:31.713 に答える