2012-05-15 2 views
1

팝업 키보드에 나타나는 검색 버튼을 누른 후 사전을 검색하는 앱을 만들고 있습니다. 사전을 검색하는 데 시간이 걸리므로 UIActivtyIndicator를 추가하려고했습니다. 나는 UITexfieldDelegateProtcol의 방법을 추가하는 경우 (아래 코드 참조) 때문에, 키보드 단지에 대한 UIActivtyIndicator 검색 중

[loader startAnimating]; 

동결 : 문제는 그 다음 코드 줄을 추가해야하는 위치 내가 모르는 그냥 검색을 수행하는 동안 몇 초. 그런 다음 키보드가 제거되고 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]; 

는 그 다음 UIActivtyIndicator가 표시 및 회전을 시작할 것입니다,하지만 검색은 물론 수행되지 않습니다.

그래서 내 질문에 UIActivityIndicator의 메서드 인 "startAnimating"을 구현해야합니다. 그러면 검색이 수행되는 동안 표시되고 회전됩니다. 나는 또한 성공없이 다른 UITextFieldDelegateProtocol 메서드에서 메서드 (startAnimating) 구현 시도했다!

답변

1

활동 표시기를 추가하려면 별도의 스레드에서 검색을 수행해야합니다. 이는 주 스레드에서 활동 표시기를 추가하고 동일한 스레드 활동에서 검색을 수행하면 검색 프로세스에 의해 잠겨 있기 때문에 나타나지 않기 때문입니다.