首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >iOS14 -如何改变textColor of UIDatePicker in UIKit?

iOS14 -如何改变textColor of UIDatePicker in UIKit?
EN

Stack Overflow用户
提问于 2020-10-07 15:13:01
回答 3查看 3.5K关注 0票数 4

使用iOS14.0.1、Swift5.3、Xcode12.0.1、

我试图在textColor中更改UIDatePicker的iOS14,并使用UIKit。

我阅读了here,您需要以下方法才能做到这一点:

代码语言:javascript
复制
let myDatePicker = UIDatePicker()
myDatePicker.tintColor = .white

我还尝试了以下方法(但这使我的应用程序在iOS14下崩溃):

代码语言:javascript
复制
myDatePicker.setValue(UIColor.white, forKeyPath: "textColor")

我也尝试过(但也没有成功):

代码语言:javascript
复制
UILabel.appearance(whenContainedInInstancesOf: [UIDatePicker.self]).textColor = UIColor.white

在光模式下,我的试验都不起作用(如截图-节选中所见):

要在我的UIDatePicker中获得白色文本,我需要做什么?

EN

回答 3

Stack Overflow用户

回答已采纳

发布于 2020-10-07 17:44:05

试试这个,添加下面的扩展:

代码语言:javascript
复制
extension UIDatePicker {

var textColor: UIColor? {
    set {
        setValue(newValue, forKeyPath: "textColor")
    }
    get {
        return value(forKeyPath: "textColor") as? UIColor
    }
  }
}

现在在viewDidLoad调用中:

代码语言:javascript
复制
myDatePicker.textColor = .yourColor

在其他选择器属性后面调用它。

代码语言:javascript
复制
myDatePicker.preferredDatePickerStyle = .wheels
myDatePicker.addTarget(self, action: #selector(handleDatePicker), for: .valueChanged)
myDatePicker.datePickerMode = .dateAndTime
myDatePicker.timeZone = NSTimeZone.local
myDatePicker.backgroundColor = .black
myDatePicker.setValue(false, forKey: "highlightsToday")
myDatePicker.textColor = .yourColor // here

如果希望highlightsToday将相对选择器值设置为true:

代码语言:javascript
复制
myDatePicker.setValue(true, forKey: "highlightsToday")

这就是结果:

票数 4
EN

Stack Overflow用户

发布于 2021-04-15 03:59:28

是的,很管用!但是,proprety preferredDatePickerStyle = .wheels必须设置在textColor = .yourColor之前,否则proprety textColor永远不会受到影响。

票数 3
EN

Stack Overflow用户

发布于 2020-10-07 15:46:32

我使用pickerView delegate方法改变选择器视图的颜色。您可以通过添加以下委托方法来添加此函数:UIPickerViewDelegate, UIPickerViewDataSource

代码语言:javascript
复制
    func pickerView(_ pickerView: UIPickerView, viewForRow row: Int, forComponent component: Int, reusing view: UIView?) -> UIView {

      // change your picker view textColor etc. in here..
}
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/64247051

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档