UIDatePicker 背景颜色在第二个 viewDidLoad 上发生变化
UIDatePicker background color changes on second viewDidLoad
如标题所述,我在使用 UIDatePicker 组件时遇到问题。
我正在更改它的背景颜色,这在第一次打开 ViewController 时不起作用。如果我关闭它,然后再次 return 到那个 ViewController,代码就可以工作。这是我的代码片段:
var datePickerView:UIDatePicker!
// in viewDidLoad
datePickerView = UIDatePicker()
datePickerView.datePickerMode = UIDatePickerMode.DateAndTime
datePickerView.tintColor = UIColor.orangeColor()
datePickerView.backgroundColor = UIColor.blackColor()
dateTextField.inputView = datePickerView
datePickerView.addTarget(self, action: #selector(ViewController.datePickerValueChanged(_:)), forControlEvents: UIControlEvents.ValueChanged)
有什么想法是错误的吗?
viewDidLoad 是你必须做任何事情一次的范围。
每次出现视图时都会调用 viewWillAppear。
尝试将它放在 viewWillAppear
如果即使这样也不能解决您的问题,请尝试使用 dispatch_async 异步调用您的代码
奇怪。正在玩代码,发现设置 UIDatePickers locale
导致 UIDatePicker 无法正确显示。
datePickerView.locale = NSLocale(localeIdentifier: "en")
仍然不知道为什么。如果您有任何建议,请随时在下面发表评论,同时我会找到解决此问题的方法。
如标题所述,我在使用 UIDatePicker 组件时遇到问题。 我正在更改它的背景颜色,这在第一次打开 ViewController 时不起作用。如果我关闭它,然后再次 return 到那个 ViewController,代码就可以工作。这是我的代码片段:
var datePickerView:UIDatePicker!
// in viewDidLoad
datePickerView = UIDatePicker()
datePickerView.datePickerMode = UIDatePickerMode.DateAndTime
datePickerView.tintColor = UIColor.orangeColor()
datePickerView.backgroundColor = UIColor.blackColor()
dateTextField.inputView = datePickerView
datePickerView.addTarget(self, action: #selector(ViewController.datePickerValueChanged(_:)), forControlEvents: UIControlEvents.ValueChanged)
有什么想法是错误的吗?
viewDidLoad 是你必须做任何事情一次的范围。
每次出现视图时都会调用viewWillAppear。
尝试将它放在 viewWillAppear
如果即使这样也不能解决您的问题,请尝试使用 dispatch_async 异步调用您的代码
奇怪。正在玩代码,发现设置 UIDatePickers locale
导致 UIDatePicker 无法正确显示。
datePickerView.locale = NSLocale(localeIdentifier: "en")
仍然不知道为什么。如果您有任何建议,请随时在下面发表评论,同时我会找到解决此问题的方法。