正如标题所提到的,我在使用UIDatePicker组件时遇到了问题。 我正在改变它的背景颜色,这在第一次打开ViewController时不起作用。如果我解除它然后再次返回到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)
任何想法可能出错?
答案 0 :(得分:0)
viewDidLoad 是您必须做任何事情的范围。
每次出现视图时都会调用viewWillAppear 。
尝试将其置于viewWillAppear
如果即使这样也无法解决您的问题,请尝试使用 dispatch_async 异步调用您的代码
答案 1 :(得分:0)
奇怪。正在使用代码,发现设置UIDatePickers locale
导致UIDatePicker无法正确显示。
datePickerView.locale = NSLocale(localeIdentifier: "en")
仍然不知道为什么。如果您有任何建议,请随时在下面发表评论,同时我会找到解决此问题的方法。