web-dev-qa-db-ja.com

UIPickerViewテキストの色を変更するには?

テキストのデフォルトのUIPickerView色は黒です。 Swift4の言語にいくつかの更新がありました。私は自分の解決策を見つけ、以下に答えました。

6
Steve B
func pickerView(_ pickerView: UIPickerView, attributedTitleForRow row: Int, forComponent component: Int) -> NSAttributedString? {
    return NSAttributedString(string: data[row], attributes: [NSAttributedStringKey.foregroundColor: UIColor.yellow])        
}
25
Steve B

あなたは使うことができます:

pickerView.setValue(UIColor.yellow, forKeyPath: "textColor")

これにより、現在選択されている行の色のみが変更されます。

参照: https://stackoverflow.com/a/9866686/530647

4

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")
2
ainareta685