搜索时UIActivtyIndi​​cator

时间:2012-05-15 20:34:21

标签: ios search-engine uiactivityindicatorview

我正在创建一个应用程序,在用户按下弹出键盘上显示的搜索按钮后搜索字典。由于搜索字典需要一些时间,我想添加一个UIActivtyIndi​​cator。问题是我不知道应该在哪里添加以下代码行:

[loader startAnimating];

因为如果我在UITexfieldDelegateProtcol方法中添加它(请参阅下面的代码),键盘只会在执行搜索时冻结几秒钟。然后键盘将自行移除,应用程序将显示结果而不显示UIActivityView。

- (BOOL)textFieldShouldReturn:(UITextField *)textField

    [textField resignFirstResponder];
    [loader startAnimating]; //loader is the name of the activityindicator
    [self findSearchWords]; //Starts the dictionary search

return YES;

如果我要删除以下行:

[self findSearchWords];

然后UIActivtyIndi​​cator将显示并开始旋转,但搜索当然不会执行。

因此,我的问题是,我应该在哪里实现UIActivityIndi​​cator的方法“startAnimating”,以便在执行搜索时它会显示并旋转。我也尝试在其他UITextFieldDelegateProtocol方法中实现该方法(startAnimating),但没有成功!

1 个答案:

答案 0 :(得分:1)

如果您想添加活动指示器,您应该在单独的线程中执行搜索。这是因为您将在主线程中添加活动指示器,如果您在同一线程中执行搜索,则不会显示活动,因为它会被您的搜索过程锁定。