テキストのデフォルトのUIPickerView色は黒です。 Swift4の言語にいくつかの更新がありました。私は自分の解決策を見つけ、以下に答えました。
func pickerView(_ pickerView: UIPickerView, attributedTitleForRow row: Int, forComponent component: Int) -> NSAttributedString? {
return NSAttributedString(string: data[row], attributes: [NSAttributedStringKey.foregroundColor: UIColor.yellow])
}
あなたは使うことができます:
pickerView.setValue(UIColor.yellow, forKeyPath: "textColor")
これにより、現在選択されている行の色のみが変更されます。
PickerViewsとDatePickers(TableViewCell内)を使用するプロジェクトがあり、ケースごとに異なる文を使用する必要がありました。
PickerViewsの場合:
func pickerView(_ pickerView: UIPickerView, attributedTitleForRow row: Int, forComponent component: Int) -> NSAttributedString? {
let titleData = "data"
let myTitle = NSAttributedString(string: titleData, attributes: [NSAttributedString.Key.foregroundColor: UIColor.lightGray])
return myTitle
}
DatePickerの場合:
datePicker.setValue(UIColor.lightGray, forKey: "textColor")