在我正在编写的iOS应用中,在文本字段键盘上点击返回键时,我设置了一个功能设置。
该功能非常慢,运行大约需要15-20秒,在此期间整个屏幕都会冻结,键盘挂在屏幕上,没有任何反应。
仅当功能完成运行时,键盘才会消失。
XIB文件将“Editing Did End”设置为“searchPlates”,功能名称,一切正常,我只想让键盘消失,这样我就可以在搜索发生时显示UIProgressView。
我在视图控制器中也有以下代码:
-(BOOL)textFieldShouldReturn:(UITextField *)thisTextField {
if (thisTextField == self.plateInput) {
[thisTextField resignFirstResponder];
}
return YES;
}
这是否足够清楚?我希望在调用searchPlates时,键盘会立即消失。
答案 0 :(得分:3)
你应该在主运行循环中直接避免长时间运行的功能。相反,在新线程中执行需要15-20秒的工作。您可以在触发该工作时显示进度视图,并在该工作完成时隐藏它。
有关如何执行此操作的具体示例,请参阅How do I update a progress bar in Cocoa during a long running loop?。