我有一个包含 2 个组件(列)的 UIPickerView,当用户完成选择时需要将其关闭。我希望它在 2 秒内等待用户消失。在这 2 秒内,如果用户执行任何选择,它将继续等待另外 2 秒。这是我的代码,让它在解雇前等待 2 秒。谢谢。
-(void)pickerView:(UIPickerView *)pickerView didSelectRow:(NSInteger)row inComponent:(NSInteger)component{
double delayInSeconds = 2; // number of seconds to wait
dispatch_time_t popTime = dispatch_time(DISPATCH_TIME_NOW, delayInSeconds * NSEC_PER_SEC);
dispatch_after(popTime, dispatch_get_main_queue(), ^(void){
[self.view endEditing:YES];
});
}
最佳答案
NSTimer *timer = [NSTimer scheduledTimerWithTimeInterval:2.0 target:self selector:@selector(todo) userInfo:nil repeats:NO];
-(void) todo {
[self.view endEditing:YES];
}
阻止这一切
[timer invalidate];
关于ios - 如何等待几秒钟以确保在执行之前没有任何反应,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25881345/