Chr*_*ris 37 objective-c uidatepicker key-value-observing ios
我注意到没有代表观察UIDatePicker中的更改.有没有办法检测何时在选择器中进行更改而不确认任何内容,例如它旋转并落在我希望能够检测到的新数字上的那一刻.我考虑过关键值观察,但我不认为有一个属性会在现场发生变化
chr*_*man 66
您需要向UIDatePicker添加UIControlEventValueChanged事件以处理日期更改:
[myDatePicker addTarget:self action:@selector(dateIsChanged:) forControlEvents:UIControlEventValueChanged];
Run Code Online (Sandbox Code Playgroud)
然后执行:
- (void)dateIsChanged:(id)sender{
NSLog(@"Date changed");
}
Run Code Online (Sandbox Code Playgroud)
斯威夫特 4.2 | Xcode 10.1
@objc func handleDatePicker(_ datePicker: UIDatePicker) {
textField.text = datePicker.date.formatted
}
override func viewDidLoad() {
super.viewDidLoad()
datePicker.addTarget(self, action: #selector(handleDatePicker), for: .valueChanged)
}
Run Code Online (Sandbox Code Playgroud)
extension Date {
static let formatter: DateFormatter = {
let formatter = DateFormatter()
formatter.dateFormat = "EEEE, dd MMM yyyy HH:mm:ss Z"
return formatter
}()
var formatted: String {
return Date.formatter.string(from: self)
}
}
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
24846 次 |
| 最近记录: |