gpt4 book ai didi

ios - Objective-C:UIDatePicker UIControlEventValueChanged 仅在第二次选择时触发

转载 作者:IT王子 更新时间:2023-10-29 07:57:24 26 4
gpt4 key购买 nike

第一次使用 UIDatePickers。首先,我只是尝试使用从 datePicker(设置为倒计时模式)中选择的任何值来更新文本字段。

它有效,但仅在用户第二次选择时间时有效。我的 Action durationSelected() 只被调用了第二次,所以更新 textField 没有问题。

这是我在 Storyboard中配置日期选择器的方式:

enter image description here

enter image description here

这是值更改时触发的操作:

来自 DetailViewController.m

- (IBAction)durationSelected:(UIDatePicker *)sender
{
self.durationTextField.text = [NSString stringWithFormat:@"%f seconds", sender.countDownDuration];
}

我试过设置一个默认值,但没有效果。

这是怎么回事?

最佳答案

我在 iOS 7.0.3 UIDatePicker 在 UIDatePickerModeCountDownTimer 模式下使用时看到了类似的错误。选择器不会在用户第一次通过滚动滚轮更改值时触发与 UIControlEventValueChanged 事件关联的目标操作。它适用于后续更改。

下面是一个有效的解决方法。只需将设置 countDownDuration 初始值的代码放在主循环的分派(dispatch) block 中。每次轮子旋转到新值时,您的目标 Action 方法都会触发。这种方法几乎没有开销,并且在 iPhone 4 和 iPad 4 上运行良好。

dispatch_async(dispatch_get_main_queue(), ^{
self.myDatePicker.countDownDuration = (NSTimeInterval) aNewDuration ;
});

关于ios - Objective-C:UIDatePicker UIControlEventValueChanged 仅在第二次选择时触发,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19251803/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com