cor*_*bin 25 objective-c uidatepicker ios
第一次使用UIDatePickers.首先,我只是尝试使用从datePicker中选择的任何值更新文本字段(在倒计时模式下设置).
它可以工作,但只是用户第二次选择时间.我的动作,durationSelected()仅被第二次调用,因此更新textField没有问题.
以下是我在故事板中配置日期选择器的方法:


以下是Value Changed触发的操作:
来自DetailViewController.m
- (IBAction)durationSelected:(UIDatePicker *)sender
{
self.durationTextField.text = [NSString stringWithFormat:@"%f seconds", sender.countDownDuration];
}
Run Code Online (Sandbox Code Playgroud)
我试过设置一个默认值,没有效果.
关于发生了什么的任何想法?
谢谢!
Pos*_*ron 22
在UIDatePickerModeCountDownTimer模式下使用iOS 7.0.3 UIDatePicker时,我看到了类似的错误.第一次用户通过滚动滚轮更改值时,拾取器不会触发与UIControlEventValueChanged事件关联的目标操作.它适用于后续更改.
以下是一种有效的解决方法.只需将调度块中countDownDuration的初始值设置为主循环的代码.每次将车轮旋转到新值时,您的目标操作方法都会触发.这种方法几乎没有开销,在iPhone 4和iPad 4上运行良好.
dispatch_async(dispatch_get_main_queue(), ^{
self.myDatePicker.countDownDuration = (NSTimeInterval) aNewDuration ;
});
Run Code Online (Sandbox Code Playgroud)
小智 16
这似乎是UIDatePicker的iOS 7实现中的一个错误.我建议在上面放一个雷达.
在iOS 6 SDK上构建并在iOS 6设备上运行将起作用,而在iOS 7设备上运行则不行.
您可以通过在- (void)viewDidLoad方法中添加此行代码来修复它
[self.datePicker setDate:[NSDate date] animated:YES];
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
5338 次 |
| 最近记录: |