如何更改UIPickerView和UIDatePicker的字体颜色?

时间:2017-05-17 06:51:31

标签: ios swift3 uipickerview uidatepicker

我有viewController UIPickerViewUIDatePicker,如下storyboard的屏幕截图所示。 The screenshot from my storyboard 我尝试按照here解释添加运行时属性。但是它只是改变了最初突出显示的文本的字体颜色。 我想将pickerView和datePicker中的文本颜色更改为白色。我不知道如何实现它。

4 个答案:

答案 0 :(得分:9)

您需要编写此行来更改日期选择器文本颜色

 self.datePicker.setValue(UIColor.white, forKeyPath: "textColor")

它将更改UIDatePicker

的文字颜色

对于PickeView,您必须设置属性字符串,

func pickerView(_ pickerView: UIPickerView, attributedTitleForRow row: Int, forComponent component: Int) -> NSAttributedString? {

    return NSAttributedString(string: "Your Text", attributes: [NSForegroundColorAttributeName:UIColor.blue])
}

答案 1 :(得分:2)

这两行为我节省了一天。

    NepaliDatePicker.setValue(UIColor.white, forKey: "textColor")
    EnglishDatePicker.setValue(UIColor.white, forKey: "textColor")

答案 2 :(得分:1)

您可以对“UIPickerView”使用“viewForRow”委托方法

override func collectionView(_ collectionView: UICollectionView, didSelectItemAt indexPath: IndexPath)   {

    let vc = self.storyboard?.instantiateViewController(withIdentifier: "second") as! ViewController

    let imagenew = UIImage(named: iosImages[indexPath.row])
    print(imagenew!)
    vc.img = imagenew as Any as! UIImage 
    navigationController?.pushViewController(vc, animated: true)
}

对于UIDatePicker,您无法更改字体,但可以使用此代码更改textColor。

func pickerView(pickerView: UIPickerView, viewForRow row: Int, forComponent component: Int, reusingView view: UIView!) -> UIView {
     // Your custom view with custom font here
}

希望这有帮助。

答案 3 :(得分:-1)

您可以使用picker视图的attributionTitleForRow委托方法来更改颜色。请参阅此链接How do I change the color of the text in a UIPickerView under iOS 7?。您还可以使用viewForRow委托方法并添加自定义UILabel作为视图。