我有一种方法可以在10之前的iOS版本上更改UIDatePicker
的文本颜色,但是对于iOS10,这些解决方案似乎不再起作用。如何恢复更改textColor
的{{1}}?
UIDatePicker
答案 0 :(得分:5)
似乎没有任何改变,因为我甚至可以使用Swift 3实现它,如下所示。
import UIKit
class ViewController: UIViewController
{
override func viewDidLoad()
{
super.viewDidLoad()
let temp: UIDatePicker = UIDatePicker(frame: self.view.frame)
temp.setValue(UIColor.purple, forKey: "textColor")
view.addSubview(temp)
}
override func didReceiveMemoryWarning()
{
super.didReceiveMemoryWarning()
}
}
答案 1 :(得分:1)
您正在使用的代码是设置UIDatePicker
的私有属性。这是使用私有财产的危险。并不能保证它能在下一个操作系统版本中运行。
如果Apple检测到您正在执行的操作,他们会拒绝您的应用。
除非有这样做的公共界面,否则你可能会失败。 (而且我不知道用于更改日期选择器的文本颜色的公共界面。)
答案 2 :(得分:1)
打开选择器时,文本颜色似乎重置。
我可以使用以下方式更改文本颜色:
setValue(UIColor.white, forKey: "textColor")
日期选择器出现在屏幕上。之后很快做到并且不明显。
我不确定你如何使用你的选择器,但我已将我的设置为文本字段的输入视图,因此能够使用textfield委托:
func textFieldDidBeginEditing(textField: UITextField)
知道拣货员何时被打开。
我确实需要稍微延迟发送才能正常生效。
使用UILabel的外观和公共textColor属性,可以更好地实现UIDatePicker的私有textColor属性。
UILabel.appearanceWhenContainedInInstancesOfClasses([UIDatePicker.self]).textColor = UIColor.whiteColor()
在日期选择器显示工作后仍需要调用它。