如何将UIDatePicker的背景颜色设置为UITextField inputView?

Dav*_*eek 6 uidatepicker uitextfield ios swift

请不要标记为重复.可用的答案没有回答我的问题.

我正在使用UIDatePickeras UITextField's inputView(内部a UITableViewCell):

@IBOutlet weak var theTextField: UITextField!

func textFieldDidBeginEditing(_ textField: UITextField) {

        let picker = UIDatePicker()
        picker.setValue(Colors.CI2, forKeyPath: "textColor")

        picker.datePickerMode = .date

        textField.inputView = picker
        textField.inputView?.backgroundColor = Colors.CI1 // my desired color

        picker.addTarget(self, action: #selector(datePickerValueChanged), for: .valueChanged)

}
Run Code Online (Sandbox Code Playgroud)

问题:一旦第二次调用选择器,颜色只会改变.

在此输入图像描述 在此输入图像描述

我想,这个问题的出现是因为它inputView是可选的,只有在第二次调用选择器时,inputView才会在我想要更改颜色时实例化.

我试图继承UITextField和观察inputView.

class DateTextField: UITextField {

    override var inputView: UIView? {

        didSet {

            self.inputView?.backgroundColor = Colors.CI1
            self.reloadInputViews()

        }

    }

}
Run Code Online (Sandbox Code Playgroud)

很遗憾没有成功.相同的行为.我错过了什么?非常感谢帮助.

Dav*_*eek 3

错误是我在 Interface Builder 中设置了键盘外观。一旦恢复正常,default它就会像预期的那样工作。

在此输入图像描述